Avatar billede python Nybegynder
28. november 2003 - 20:48 Der er 19 kommentarer og
1 løsning

SQL UPDATE Query - Syntax error

Får en skide syntax error på min SQL query.. jeg har prøvet at smide den i access og der kører den fint så jeg ved sku ik hva der er galt her.. nogen der ka se noget?


If Request.QueryString("mode") = "ret" Then
  If Request.Form("knap") = "OK" then
    username = Request.Form("username")
    username = Replace(username, "'", "''")
    username = Replace(username, "<", "&lt;")
    username = Replace(username, ">", "&gt;")
    password = Request.Form("password")
    password = Replace(password, "'", "''")
    password = Replace(password, "<", "&lt;")
    password = Replace(password, ">", "&gt;")
    email = Request.Form("email")
    email = Replace(email, "'", "''")
    email = Replace(email, "<", "&lt;")
    email = Replace(email, ">", "&gt;")
    lvl = Request.Form("lvl")
    lvl = Replace(lvl, "'", "''")
    lvl = Replace(lvl, "<", "&lt;")
    lvl = Replace(lvl, ">", "&gt;")
    id = Request.Form("id")
    Set Con = Server.CreateObject ("ADODB.Connection")
    Con.open strCon
    strSQL="UPDATE Users SET username='" & username & "', password='" & password & "', email='" & email & "', lvl='" & lvl & "' WHERE ID="&id
    Con.Execute(strSQL)
    Con.Close
    Response.Buffer=true
    Response.Clear
    Response.Redirect "users.asp"
    response.end
      else
        Set Con = Server.CreateObject ("ADODB.Connection")
        Con.open strCon
        strSQL="SELECT * FROM Users WHERE ID="&Request("id")
        Set rs = Con.Execute(strSQL)
  End If
%>
<table cellspacing=1 width=690 align=center bgColor=black>
<tr>
<td class="heading" width="570"><b>Edit <%=rs("username")%></b></td>
</tr>
<tr>
<td class=content>
        <form method="post" action="<%=rootdir%>/members/users.asp?mode=ret">
            <table border="0" cellpadding="2" cellspacing="1">
                <tr>
                    <td width="50%"></td>
                    <td width="50%"></td>
                </tr>
                <tr>
                    <td width="50%"><span>Brugernavn:</span></td>
                    <td width="50%"><input type="text" name="username" value="<%=rs("username")%>" maxlength="100" size="20"></td>
                </tr>
                <tr>
                    <td width="50%"><span>Password:</span></td>
                    <td width="50%"><input type="password" name="password" value="<%=rs("password")%>" maxlength="100" size="20"></td>
                </tr>
                <tr>
                    <td width="50%"><span>E-Mail:</span></td>
                    <td width="50%"><input type="text" name="email" value="<%=rs("email")%>" maxlength="100" size="20"></td>
                </tr>
                <tr>
                    <td width="50%"><span>Level:</span></td>
                    <td width="50%">
                    <select size="1" name="lvl">
                    <%
                    Response.Write("<option selected>" & rs("lvl") & "</option>")
                    %>
                    <option>member</option>
                    <option>news</option>
                    <option>admin</option>
                    </select></span>
                    </td>
                </tr>
            </table>

            <input type="hidden" name="id" value="<%=rs("id")%>">
            <input type="hidden" name="mode" value="ret">
            <input type="submit" value="OK" name="knap"><input type="reset" value="Reset">
        </form>
</td>
</tr>
</table>
<img height=12 src="<%=rootdir%>/images/pixel.gif" width=16><br>
<%
con.Close
set con = Nothing
End If %>
Avatar billede htm Nybegynder
28. november 2003 - 20:53 #1
prøv lige og print din SQL ud
response.write(strSQL)

Og hvilken en af dine sql-særninger er det der fejler? Gerne den præcise fejlmeddelse plus linienummer.
Avatar billede python Nybegynder
28. november 2003 - 20:56 #2
UPDATE Users SET username='Circul8', password='qwerty', email='circ@direkte.org', lvl='admin' WHERE ID=10

den her der failer:
strSQL="UPDATE Users SET username='" & username & "', password='" & password & "', email='" & email & "', lvl='" & lvl & "' WHERE ID="&id

id er et integer..
Avatar billede ztyxx Nybegynder
28. november 2003 - 20:57 #3
nu er jeg ikke lige så god til asp (kan det slet ikke) men i php skulle der en " efter &id
Avatar billede python Nybegynder
28. november 2003 - 20:58 #4
har prøvet id med 's og " " osv .. :)
Avatar billede ztyxx Nybegynder
28. november 2003 - 21:01 #5
WHERE ID='" & id & "' måske??
Avatar billede python Nybegynder
28. november 2003 - 21:03 #6
nej har jeg prøvet sagde jeg :)
Avatar billede ztyxx Nybegynder
28. november 2003 - 21:04 #7
okay, misforstod
Avatar billede htm Nybegynder
28. november 2003 - 21:05 #8
Hvilken database bruger du? Hvilken datatype er felterne?

Hvad er den præcise fejlmeddelse?
Avatar billede python Nybegynder
28. november 2003 - 21:07 #9
Microsoft JET Database Engine (0x80040E14)
Syntax error in UPDATE statement.
/replays/members/users.asp, line 51

Bruger Access 2000
alle felter er text undtagen ID som er autonumber primary key
Avatar billede htm Nybegynder
28. november 2003 - 21:11 #10
Og du er helt sikker på feltnavnene er rigtige? Du har ikke begrænsning på nogle af felterne?
Avatar billede python Nybegynder
28. november 2003 - 21:16 #11
yeps rigtige .. og begrænsninger er i orden..
Avatar billede htm Nybegynder
28. november 2003 - 21:21 #12
Din SQL-sætning ser helt rigtigt ud. Prøv og slet hele linine. Og skriv sql-sætningen ind igen manuelt.
Har hørt om at der somme tider kan gemme sig et tegn et eller andet sted. som den vil melde fejl på
Avatar billede python Nybegynder
28. november 2003 - 21:25 #13
nope :( fatter det heller ik .. og når den virker i Access ka der sku da ik være nogen syntax error.. NUTS :)
Avatar billede htm Nybegynder
28. november 2003 - 21:29 #14
Hmmm jeg ved ikke hvad der går galt, jeg må melde pas.
Avatar billede python Nybegynder
28. november 2003 - 21:30 #15
vent.. password er ik et reserved word er det?
Avatar billede python Nybegynder
28. november 2003 - 21:31 #16
omg det var det :(
Avatar billede htm Nybegynder
28. november 2003 - 21:32 #18
Var det løsningen????  - mærkeligt at den ikke fremgår af deres dokumentation.
Avatar billede python Nybegynder
28. november 2003 - 21:34 #19
yep .. jeg puttede [] uden om og det virkede ..
Avatar billede htm Nybegynder
28. november 2003 - 21:35 #20
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