31. oktober 2006 - 12:19
Der er
14 kommentarer
Hælpe til - error in UPDATE statement
Hej, Er der nogen som kan sige mig, hvorfor jeg få en fejl kode som siger: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /cms/kontakt_seinfo_gem.asp, line 49 (line 49 er ved conn.execute(strSQL2) under i koden) Mig kode er her: <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../database/database.mdb") Conn.Open DSN %> <% id = request.form("id") note_status = request.form("note_status") note = request.form("note") istatus = request.form("istatus") strSQL2 = "UPDATE foresporgelse SET note_status='"¬e_status&"'," &_ "note='"¬e&"'," &_ "istatus='"&istatus&"'" &_ "WHERE id="&id conn.execute(strSQL2) %> </span> <p> <span class="test11">Ændringerne er nu gemt! <% Conn.Close set Conn = Nothing %>
Annonceindlæg fra Cornerstones
31. oktober 2006 - 12:22
#1
kunne det tænkes at det er de her den gakke ud over: " &_" ??
31. oktober 2006 - 12:26
#2
nej, det er bare så kommer ned på næste linde. pga. jeg har en anden side, med den præcis sammen opsætning. og der er ikke nogle fejl....
31. oktober 2006 - 12:34
#3
Hvis feltet "istatus" er et tal (som i'et i navnet burde antyde), så skal der ikke være ' omkring.
31. oktober 2006 - 12:41
#4
note er muligvis et reserveret ord, så prøv at bruge [note]
31. oktober 2006 - 12:46
#5
31. oktober 2006 - 12:51
#6
31. oktober 2006 - 12:55
#7
Note ER reserveret i Access hvorfor der skal [] omkring som morhan sagde...
31. oktober 2006 - 12:59
#8
Desuden skal du sikre dig mod SQL-injections, så din DB ikke bliver hacket ved hjælp af ' tegn. Alle tekst felter skal derfor igennem en replace, som udskifter ' med 2 stk: note = replace(request.form("note"),"'","''")
31. oktober 2006 - 13:03
#9
Det ser ud til at der mangler et mellemrum foran WHERE...
31. oktober 2006 - 13:15
#10
='streng'WHERE ... tror jeg godt Access kan afkode korrekt. Det må svare til at undlade mellemrum før et komma
31. oktober 2006 - 13:17
#11
Et godt råd er: At lave en response.write(strSQL2) response.end() og klistre skærmdumpet ind direkte i Access, hvis du ikke umidelbart kan se fejlen. Iøvrigt, hvorfor bruge denne gamle type conn string: Det er fra den gamle Access 97 tid. Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../database/database.mdb")
31. oktober 2006 - 13:26
#12
My bad, sorry!
31. oktober 2006 - 13:31
#13
morhan >> uenig. et komma er en naturlig separator på linie med et mellemrum, sådan opfatter jeg ikke en apostrof - men jeg skal naturligvis ikke afvise at du har ret (trods alt :))...
29. april 2012 - 10:51
#14
send et svar
Kurser inden for grundlæggende programmering