Vraag & Antwoord

Webprogrammeren & scripting

Syntaxisfout in de UPDATE instructie met asp

10 antwoorden
  • Hallo allemaal, Kan iemand mij help met het volgende: Ik heb een website waar ik een soort online agenda heb waar ik enmijn zangeres de optredens in kunnen zetten en ook weer wijzigen wanneer dat nodig is. Nu krijg het wel voor elkaar dat ik een nieuw optreden erin kan zetten, deze wordt dan in een Access database geschreven middels een asp-script. Ik wil ook record onlinen kunnen wijzigen. Dit gaat goed tot dat ik de wijzigingen op wil slaan. Ik de melding: De instructie UPDATE bevat een syntaxisfout. Ik gebruik hiervoor de volgende code: ----------------------------------------------------------------------------- Dim strSQL iAfsprID = Request.Form("Afspr_ID") iAfsprID = Replace(iAfsprID, "'", "''") strSQL = "UPDATE Agenda SET " _ & "UserID = '" & CStr(Replace(Request.Form("UserID"), "'", "''")) & "', " _ & "Naamkl = '" & CStr(Replace(Request.Form("Naamkl"), "'", "''")) & "', " _ & "Adreskl = '" & CStr(Replace(Request.Form("Adreskl"), "'", "''")) & "', " _ & "Telkl = '" & CStr(Replace(Request.Form("Telkl"), "'", "''")) & "', " _ & "DatumF = '" & CStr(Replace(Request.Form("DatumF"), "'", "''")) & "', " _ & "Beg_tijd = '" & CStr(Replace(Request.Form("Beg_tijd"), "'", "''")) & "', " _ & "Eindtijd = '" & CStr(Replace(Request.Form("Eindtijd"), "'", "''")) & "', " _ & "Lok_zaal = '" & CStr(Replace(Request.Form("Lok_zaal"), "'", "''")) & "', " _ & "SrtFeest = '" & CStr(Replace(Request.Form("SrtFeest"), "'", "''")) & "', " _ & "Opmerking = '" & CStr(Replace(Request.Form("Opmerking"), "'", "''")) & "', " _ & "WHERE (Afspr_ID = " & iAfsprID & ")" Set cnnDBEdit = Server.CreateObject("ADODB.Connection") cnnDBEdit.Open "DBQ=" & Server.MapPath("database/Agenda.mdb") & ";" & "Driver={Microsoft Access Driver (*.mdb)};", "", "" cnnDBEdit.Execute strSQL, adAffectAll, adCmdText Or dExecuteNoRecords rstDBEdit.Update cnnDBEdit.Close Set cnnDBEdit = Nothing Response.Write("<p>Record Id #" & iAfSprID & " updated!</p>") ------------------------------------------------------------------------------- Heeft iemand enig idee wat er met deze code niet goed is???? Bijvoorbaat hartelijk dank. Groetjes Eric.
  • Haal de komma weg aan het eind van de regel: [code:1:28020efd33] & "Opmerking = '" & CStr(Replace(Request.Form("Opmerking"), "'", "''")) & "', " _ [/code:1:28020efd33] Tip: schrijf samengestelde queries bij het debuggen naar het scherm. Zo zie je wat er werkelijk wordt uitgevoerd op de database en je kan eventueel de query even copy&pasten in je database om 'm daar zelf uit te voeren. Overigens zien deze regels er ook niet helemaal goed uit: [code:1:28020efd33] cnnDBEdit.Execute strSQL, adAffectAll, adCmdText Or dExecuteNoRecords rstDBEdit.Update [/code:1:28020efd33] Ik neem aan dat de laatste weg kan en in de eerste regel staat een tikfout bij de execute options. Bovendien moeten bij mijn weten de options bij elkaar opgeteld worden (maar ik ben niet zo heel erg thuis in de ADO specs dus kijk dat nog maar eens na in een reference).
  • Hoi Annie, Ik heb mezelf rot zitten zoeken naar de fout in de code, en inderdaad, die ene komma zorgde ervoor dat het niet werkte. Hartstikke bedankt voor je hulp. ( ik heb er een hele avond op zitten zoeken). De type fout heb ik niet kunnen ondekken, wel heb ik cnnDBEdit.Update verwijderd. Deze hoorde daar niet. Alles werkt nu goed. Nogmaals ontzettend bedankt. Groetjes, Eric.
  • Het SET enz.. gedeelte eindig je dus nooit met een komma! Volgens mij vergeet je dat nooit meer ;) De komma is puur een scheidingsteken dus die hoort ergens [b:5f8efe1664]tussen[/b:5f8efe1664] en dus niet aan het einde :)
  • [quote:cf1729de2d="InZane"]De komma is puur een scheidingsteken dus die hoort ergens [b:cf1729de2d]tussen[/b:cf1729de2d] en dus niet aan het einde :)[/quote:cf1729de2d] En dan hoort deze weer niet [b:cf1729de2d]tussen[/b:cf1729de2d] het SET gedeelte en het WHERE gedeelte? En als ik meerdere WHERE clauses wil scheiden moet ik dan wel een komma gebruiken? Ik snap er niets meer van... ;)
  • Inderdaad, nu snap ik er ook niks meer van. Ik wist al niet veel van sql/asp, maar hierdoor wordt het er niet duidelijker op. Maar toch bedankt. Eric.
  • [quote:fc50e20199="Annie"][quote:fc50e20199="InZane"]De komma is puur een scheidingsteken dus die hoort ergens [b:fc50e20199]tussen[/b:fc50e20199] en dus niet aan het einde :)[/quote:fc50e20199] En dan hoort deze weer niet [b:fc50e20199]tussen[/b:fc50e20199] het SET gedeelte en het WHERE gedeelte? En als ik meerdere WHERE clauses wil scheiden moet ik dan wel een komma gebruiken? Ik snap er niets meer van... ;)[/quote:fc50e20199] UPDATE blaat SET bla = 1[b:fc50e20199],[/b:fc50e20199] blabla = 2[b:fc50e20199],[/b:fc50e20199] blablabla = 3 WHERE (dinges = 'blaat') AND (nogeendinges = 'koe') OR (enogiets = 'schaap') Dat bedoelde ik dus ;)
  • [quote:d72785d6ab="InZane"]Dat bedoelde ik dus ;)[/quote:d72785d6ab] I know, i know.. Probeerde alleen een ironische opmerking te maken. note-to-self: Humor laat je maar aan clowns over.
  • [quote:523720cd27="Annie"][quote:523720cd27="InZane"]Dat bedoelde ik dus ;)[/quote:523720cd27] I know, i know.. Probeerde alleen een ironische opmerking te maken. note-to-self: Humor laat je maar aan clowns over.[/quote:523720cd27] ik dacht laat ik je ff helpen met een mooie query :wink:
  • Jullie kibbelen maar lekker door, maar ik ben in ieder geval goed geholpen. Ik vindt het geweldig. Ik mag jullie wel. Eric.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.