Avatar billede cotus Nybegynder
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?
Avatar billede tmceu Praktikant
11. juni 2002 - 14:52 #1
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.
Avatar billede tmceu Praktikant
11. juni 2002 - 14:54 #2
Du skal være opmærksom på, at querystring er det, der er efter ? i URL'en.

Din skal nok være noget i stil med:

http://www.donaldisten.dk?brugerMsn=jacob@berget.as&brugerTekst=Hvis
Avatar billede cotus Nybegynder
11. juni 2002 - 18:49 #3
<%
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"
%>
Avatar billede tmceu Praktikant
11. juni 2002 - 19:53 #4
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.
Avatar billede cotus Nybegynder
11. juni 2002 - 20:43 #5
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/mode/rediger.asp, line 16
Avatar billede cotus Nybegynder
11. juni 2002 - 20:52 #6
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&nbsp;E&nbsp;D&nbsp;I&nbsp;G&nbsp;E&nbsp;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???
Avatar billede cotus Nybegynder
13. juni 2002 - 20:46 #7
/lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester