11. juni 2002 - 14:49
Der er
6 kommentarer og 1 løsning
Fejl...
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'adminbrugerAlder=14brugerEmail=admin@donaldisten.dkbrugerHjemmeside=http://www.donaldisten.dkbrugerMsn=jacob@berget.asbrugerTekst=Hvis i har nogen spørgsmål eller kommentarer'. /mode/rediger.asp, line 16 Hvad betyder det?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Sandsynligvis at du har en tom variabel i et statement som eks. "SELECT * FROM Something WHERE X = " & variabel. Typisk er det når man anvender parametre fra form el. querystring og disse er tomme.
<% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/mode/db/community.mdb") Conn.Open DSN strSQL = "Update bruger set " strSQL = strSQL & "brugerKode=" & Request.Form("kodeord") strSQL = strSQL & "brugerAlder=" & Request.Form("alder") strSQL = strSQL & "brugerEmail=" & Request.Form("email") strSQL = strSQL & "brugerHjemmeside=" & Request.Form("hjemmeside") strSQL = strSQL & "brugerMsn=" & Request.Form("msn") strSQL = strSQL & "brugerTekst=" & Request.Form("tekst") strSQL = strSQL & " Where brugerNavn = " & Request.Form("brugernavn") Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.redirect "/mode/default.asp?msg=Din+bruger+er+nu+opdateret" %>
Der er lige et par detaljer omkring dit SQL statement. Syntaksen er UPDATE Tabel SET Felt1=100, Felt2='abc' Læg mærke til "," mellem felterne og ' (pinger) rundt om tekst værdier. Med forbehold for, at jeg ikke kender din tabel/datatyper, vil jeg mene at dit statement skal se sådan ud: strSQL = "Update bruger set " strSQL = strSQL & "brugerKode='" & Request.Form("kodeord") & "', " strSQL = strSQL & "brugerAlder=" & Request.Form("alder") & ", " strSQL = strSQL & "brugerEmail='" & Request.Form("email") & "', " strSQL = strSQL & "brugerHjemmeside='" & Request.Form("hjemmeside") & "', " strSQL = strSQL & "brugerMsn='" & Request.Form("msn") & "', " strSQL = strSQL & "brugerTekst='" & Request.Form("tekst") & "', " strSQL = strSQL & " Where brugerNavn = '" & Request.Form("brugernavn") & "'" Dernæst henter du alle værdier fra request.form er det korrekt ? I det link du smed tidligere, anvendte du variabler i querystring.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /mode/rediger.asp, line 16
Min database: brugerId(autonr.) | brugerNavn(notat) | brugerKode(notat) | brugerAlder(tekst) | brugerEmail(notat) | brugerHjemmeside(notat) | brugerMsn(notat) | brugerTekst(notat) | brugerBillede(notat) | brugerStatus(tekst) Opdater.asp: <H3>R E D I G E R</H3> <% strBrugerNavn = Session("mode") Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/mode/db/community.mdb") set rs = Conn.execute("SELECT * FROM bruger WHERE brugerNavn='" & strBrugerNavn & "'") brugernavn = rs("brugerNavn") kodeord = rs("brugerKode") alder = rs("brugerAlder") email = rs("brugerEmail") hjemmeside = rs("brugerHjemmeside") msn = rs("brugerMsn") tekst = rs("brugerTekst") %> <table> <form method="post" action="rediger.asp"> <tr><td><% If Session("sprog") = "da" Then %>Kodeord<% Elseif Session("sprog") = "se" Then %>Lösenord<% Elseif Session("sprog") = "no" Then %>Passord<% Else %>Password<% End if %></td><td><input type="password" name="kodeord" value="<%=kodeord%>"></td></tr> <tr><td><% If Session("sprog") = "da" Then %>Alder<% Elseif Session("sprog") = "se" Then %>Ålder<% Elseif Session("sprog") = "no" Then %>Alder<% Else %>Age<% End if %></td><td><input type="text" name="alder" value="<%=alder%>"></td></tr> <tr><td><% If Session("sprog") = "da" Then %>E-mail<% Elseif Session("sprog") = "se" Then %>E-post<% Elseif Session("sprog") = "no" Then %>E-post<% Else %>E-mail<% End if %></td><td><input type="text" name="email" value="<%=email%>"></td></tr> <tr><td><% If Session("sprog") = "da" Then %>Hjemmeside<% Elseif Session("sprog") = "se" Then %>Hemsida<% Elseif Session("sprog") = "no" Then %>Heimeside<% Else %>Homepage<% End if %></td><td><input type="text" name="hjemmeside" value="<%=hjemmeside%>"></td></tr> <tr><td>MSN Messenger</td><td><input type="text" name="msn" value="<%=msn%>"></td></tr> <tr><td><% If Session("sprog") = "da" Then %>Beskrivelse<% Elseif Session("sprog") = "se" Then %>Beskrivning<% Elseif Session("sprog") = "no" Then %>Skildring<% Else %>About you<% End if %></td><td><TEXTAREA NAME="tekst" ROWS="10" COLS="65%"><%=tekst%></TEXTAREA></td></tr> <tr><td><input type="submit" value="Rediger"></td><tr> </form> </table> <% rs.Close set rs = nothing Conn.Close Set Conn = Nothing %> Rediger.asp: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/mode/db/community.mdb") Conn.Open DSN strSQL = "Update bruger set " strSQL = strSQL & "brugerKode='" & Request.Form("kodeord") & "', " strSQL = strSQL & "brugerAlder=" & Request.Form("alder") & ", " strSQL = strSQL & "brugerEmail='" & Request.Form("email") & "', " strSQL = strSQL & "brugerHjemmeside='" & Request.Form("hjemmeside") & "', " strSQL = strSQL & "brugerMsn='" & Request.Form("msn") & "', " strSQL = strSQL & "brugerTekst='" & Request.Form("tekst") & "', " strSQL = strSQL & " Where brugerNavn = '" & Session("mode") & "'" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.redirect "/mode/default.asp?msg=Din+bruger+er+nu+opdateret" %> HVAD ER FEJLEN???
Kurser inden for grundlæggende programmering