Weergegeven resultaten: 1 t/m 5 van 5

Discussie: SQL - Access - ASP

  1. #1
    Up-to-date   boemans's schermafbeelding
    Geregistreerd
    5 November 2006
    Berichten
    84
    Bedankjes
    16
    Bedankt
    13 keer in 12 posts

    SQL - Access - ASP

    Beste mensen,

    kunnen jullie mij even helpen met volgend probleempje?

    Ik heb in een database de tabel dbo_dbmforum_Subscription met daarin het veld strEmail. Ik maak nu een gastenboek waarbij de ingevoerde gegevens moeten opgeslagen worden in de tabel dbo_dbmforum_Guestbook.

    Bij het toevoegen van een reactie in het gastenboek moet het emailadres opgegeven worden, en het is zo dat enkel leden reacties mogen plaatsen. Met andere woorden hun emailadres moet voorkomen in die tabel dbo_dbmforum_Subscription.

    Ik maak gebruik van een Access database en probeer dit op te lossen via een EXISTS-operator in SQL. Deze blijkt echter niet te werken.

    Ik doe het zo:
    PHP-code:
    Set cn Server.CreateObject("ADODB.Connection"
        
    openStr "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &          Server.MapPath("BPM-Forum database.mdb"
        
    cn.Open openStr 
        
    if  exists(SELECT strEmail FROM dbo_dbmforum_Subscription WHERE   strEmail=emailthen message "error" 
        
    else 
        
    SQL "SELECT * FROM dbo_dbmforum_Guestbook" 
        
    Set record Server.CreateObject("ADODB.Recordset"
        
    record.Open sqlcn2
        record
    .AddNew 
        record
    ("name") = Request.Form("name"
        
    record("email") = Request.Form("email"
        
    record("url") = Request.Form("url"
        
    record("message") = Request.Form("message"
        
    record("todaysDate") = Now() 
        
    message "thanks (" name "). <a href='guests.asp'>click</a>" 
        
    record.Update 
        record
    .Close 
        Set record 
    Nothing 
        cn
    .Close 
        Set cn 
    Nothing 
        end 
    if 
        %> 
    Hoe kan ik dit oplossen zodat het wel werkt? En is dit (WHERE strEmail=email) de correcte manier om te verwijzen naar het opgegeven emailadres?

    Bedankt alvast!

  2. #2
    Up-to-date   boemans's schermafbeelding
    Geregistreerd
    5 November 2006
    Berichten
    84
    Bedankjes
    16
    Bedankt
    13 keer in 12 posts
    Niemand? :(

  3. #3
    Erelid   AMD's schermafbeelding
    Geregistreerd
    1 May 2005
    Locatie
    Bilzen
    Berichten
    616
    Bedankjes
    161
    Bedankt
    150 keer in 93 posts
    Citaat Oorspronkelijk geplaatst door boemans Bekijk bericht
    Beste mensen,

    kunnen jullie mij even helpen met volgend probleempje?

    Ik heb in een database de tabel dbo_dbmforum_Subscription met daarin het veld strEmail. Ik maak nu een gastenboek waarbij de ingevoerde gegevens moeten opgeslagen worden in de tabel dbo_dbmforum_Guestbook.

    Bij het toevoegen van een reactie in het gastenboek moet het emailadres opgegeven worden, en het is zo dat enkel leden reacties mogen plaatsen. Met andere woorden hun emailadres moet voorkomen in die tabel dbo_dbmforum_Subscription.

    Ik maak gebruik van een Access database en probeer dit op te lossen via een EXISTS-operator in SQL. Deze blijkt echter niet te werken.

    Ik doe het zo:
    PHP-code:
    Set cn Server.CreateObject("ADODB.Connection"
        
    openStr "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &          Server.MapPath("BPM-Forum database.mdb"
        
    cn.Open openStr 
        
    if  exists(SELECT strEmail FROM dbo_dbmforum_Subscription WHERE   strEmail=emailthen message "error" 
        
    else 
        
    SQL "SELECT * FROM dbo_dbmforum_Guestbook" 
        
    Set record Server.CreateObject("ADODB.Recordset"
        
    record.Open sqlcn2
        record
    .AddNew 
        record
    ("name") = Request.Form("name"
        
    record("email") = Request.Form("email"
        
    record("url") = Request.Form("url"
        
    record("message") = Request.Form("message"
        
    record("todaysDate") = Now() 
        
    message "thanks (" name "). <a href='guests.asp'>click</a>" 
        
    record.Update 
        record
    .Close 
        Set record 
    Nothing 
        cn
    .Close 
        Set cn 
    Nothing 
        end 
    if 
        %> 
    Hoe kan ik dit oplossen zodat het wel werkt? En is dit (WHERE strEmail=email) de correcte manier om te verwijzen naar het opgegeven emailadres?

    Bedankt alvast!
    Ik denk dat het komt omdat je geen correcte aanroep doet van de exist functie.
    Kijk eventjes naar mijn voorbeeld en pas het desnoods eventjes aan zodat het met jou variabele werkt.

    PHP-code:
    <%
      
    Dim dbrssSQL

      username 
    "AMD"
      
    password "123456"

      
    sSQL "IF EXISTS(SELECT 'True' FROM MijnTabel WHERE username = '" _
              username 
    "') "
      
    sSQL sSQL "BEGIN "
      
    sSQL sSQL "SELECT 'Deze record bestaat al!' "
      
    sSQL sSQL "END ELSE BEGIN "
      
    sSQL sSQL "SELECT 'Record toegevoegd' "
      
    sSQL sSQL "INSERT INTO MijnTabel(username, userpassword) VALUES('" _
            username 
    "','" password "') "
      
    sSQL sSQL "END"

      
    Set db Server.CreateObject("ADODB.Connection")
      
    db.Open mijnTest 'gebruik uw connectie hier
                      '
    en voer onze statement uit
      Set rs 
    db.Execute(sSQL)

      If 
    rs(0) = "Deze record bestaat al!" Then
        
    'We sturen de gebruiker hier naar een pagina die hem informeert dat 
        '
    enkel leden mogen posten.
      Else
        
    Response.Write "Jouw gebruikersnaam en paswoord zijn goedgekeurd..."
      
    End If
    %> 
    SP-ENGINEERING BVBA
    ZONNE-ENERGIE

  4. De volgende gebruiker bedankt AMD voor deze nuttige post:

    boemans (14 November 2006)

  5. #4
    Up-to-date   boemans's schermafbeelding
    Geregistreerd
    5 November 2006
    Berichten
    84
    Bedankjes
    16
    Bedankt
    13 keer in 12 posts
    Bedankt alvast voor de reactie,
    ik probeer het vanavond even uit.

  6. #5
    Up-to-date   boemans's schermafbeelding
    Geregistreerd
    5 November 2006
    Berichten
    84
    Bedankjes
    16
    Bedankt
    13 keer in 12 posts
    Nogmaals bedankt dat je me wil helpen AMD!

    Ik heb er nu dit van gemaakt:
    PHP-code:
    <%
    Dim dbrssSQL
    sSQL 
    "IF EXISTS(SELECT 'True' FROM Subscription WHERE strEmail = '" email "') "
    sSQL sSQL "BEGIN "
    sSQL sSQL "INSERT INTO Guestbook(Email, Message, Date) VALUES('" email "','" message "', 'now()') "
    sSQL sSQL "END ELSE BEGIN "
    sSQL sSQL "SELECT 'Email van geen lid' "
    sSQL sSQL "END"
    Set db Server.CreateObject("ADODB.Connection")
    openStr "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" Server.MapPath("database.mdb")
    db.Open openStr
    Set rs 
    db.Execute(sSQL)
    If 
    rs(0) = "Email van geen lid" Then
    Response
    .Write "Enkel leden mogen berichten posten"
    Else
    Response.Write "Je bericht werd toegevoegd..."
    End If
    %>
    <
    html>
    <
    head>
    <
    title>Guestbook</title>
    </
    head>
    <
    body>
    <% if 
    Request.querystring("act") = "send" then response.write message %>
    <
    FORM METHOD="POST" method="POST" action="guestbook.asp?act=send">
    Name: <INPUT NAME="name" size="33"><br>
    Email: <INPUT NAME="email" size="33"><br>
    Message: <textarea rows="6" name="message" cols="30">
    </
    textarea><br>
    <
    INPUT TYPE="SUBMIT" VALUE="SEND">
    </
    form>
    </
    body>
    </
    html
    Klopt dit nog?

    Ik krijg echter deze fout bij uitvoering:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
    /BPM-Forum site/guestbook_new.asp, line 14


    Zit er nog een fout in mijn code?
    Laatst gewijzigd door boemans; 14 November 2006 om 17:01

Discussie informatie

Users Browsing this Thread

Momenteel bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Soortgelijke discussies

  1. Access database
    Door Perigo17 in forum Office
    Reacties: 9
    Laatste bericht: 24 October 2006, 21:38
  2. access
    Door spruit in forum Webdevelopment & Programming
    Reacties: 4
    Laatste bericht: 6 October 2006, 17:24
  3. MS Access handleiding
    Door nightwarrior in forum Office
    Reacties: 6
    Laatste bericht: 23 September 2006, 11:26
  4. Access
    Door vuurvliegje in forum Office
    Reacties: 13
    Laatste bericht: 3 August 2006, 14:51

Favorieten/bladwijzers

Favorieten/bladwijzers

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •