06. december 2003 - 21:19Der er
12 kommentarer og 1 løsning
Syntax error (missing operator) in query expression 'id=
Som overskriften antyder så kan jeg ikke på fat på ID'et. "Fejl i default.asp, line 1041"
Default.asp koden er følgende: bla bla bla <% if mode = "edit" then Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from bruger where id=" & Request.QueryString("id") Det er her fejlen ligger i følge browseren (Linje 1041): rs.open sql, conn, 1, 3
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Mon ikke det er noget med at din Request.QueryString("id") er en string og du tester på en integer? Prøv: sql = "select * from bruger where id='" & Request.QueryString("id") & "';"
Ja, det var noget af det fordi nu får jeg en anden fejl:
Error Type: ADODB.Recordset (0x800A0BCD) Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. default.asp, line 1047
og linje 1047 er: rs.update
Hele koden ser sådan ud nu: bla bla bla <% if mode = "edit" then Set rs = Server.CreateObject("ADODB.Recordset") tId= int(Request.QueryString("id")) sql = "select * from bruger where id=" & tID 'sql = "select * from bruger where id=" & Request.QueryString("id") rs.open sql, conn, 1, 3
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
jeg har html scrpits der indeholder inputtet inden det sendes gennem asp koden:
Den fulde kode under punktet "if mode = edit then" kommer her (det kan være det sætter lys over land):
---Først vælger vi hvem der skal redigeres i--- <% '<!--member edit-->%> <% if mode ="memberedit" then Set rs = Conn.Execute("select * from bruger order by brugernavn") %> <% if session("admin") = "" then Response.Redirect("default.asp?mode=login") end if%>
<center><font class="main"><b>Vælg user du vil redigere i:</b><br><br></font></center> <table border="0" bordercolor="#000000" cellspacing="1" cellpadding="2" align="center">
<tr> <td width="200"> <font class="main">Users: </td></font> <td><font class="main">L4M3 nick:</td></font> </tr> <% Do until rs.eof %>
</tr> <% rs.movenext loop rs.close set rs = nothing %> </table> <% end if %> <% '<!--/member edit-->%> ---Så vises de informationer der er på brugeren+ der bliver (virker ikke)update--- <% '<!--edit member -->%> <% if mode = "edit" then Set rs = Server.CreateObject("ADODB.Recordset") tId= int(Request.QueryString("id")) sql = "select * from bruger where id=" & tID 'sql = "select * from bruger where id=" & Request.QueryString("id") rs.open sql, conn, 1, 3
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
%> ---Her er html opsættet der viser brugerinformationerne--- <table border="0" bordercolor="#000000" width="400" align="center"> <form method="post" action="retmember.asp" id="form7" name="form7">
bør du ikke gøre det på denne måde: If (rs.BOF Or rs.EOF) Then rs("brugernavn") = Server.HTMLEncode(Request("brugernavn")) rs("brugerkode") = Server.HTMLEncode(Request("adgangskode")) rs("brugeralder") = Server.HTMLEncode(Request("alder")) rs("brugeremail") = Server.HTMLEncode(Request("email")) rs("brugerHjemmeside") = Server.HTMLEncode(Request("hjemmeside")) rs("brugerIcq") = Server.HTMLEncode(Request("icq")) rs("brugerTekst") = Server.HTMLEncode(Request("fri_tekst")) rs("admin") = Server.HTMLEncode(Request("admin")) rs("visnick") = Server.HTMLEncode(Request("showname")) rs("nick") = Server.HTMLEncode(Request("nick")) rs("bane") = Server.HTMLEncode(Request("bane")) rs("weapon") = Server.HTMLEncode(Request("weapon")) rs.update Response.Redirect("default.asp?mode=edit") End If
istedet for: if Request.ServerVariables("REQUEST_METHOD") = "POST" then bla bla endif
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.