Avatar billede mskjoldp Novice
06. december 2003 - 21:19 Der 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
                               
                                    rs.update
                                    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


bla bla bla


Mangler jeg at angive noget kode for at du kan finde fejlen?
Avatar billede wilweb Nybegynder
06. december 2003 - 21:43 #1
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") & "';"
Avatar billede wilweb Nybegynder
06. december 2003 - 21:45 #2
eller:
tId= int(Request.QueryString("id"))
sql = "select * from bruger where id=" & tID
Avatar billede mskjoldp Novice
06. december 2003 - 22:40 #3
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
                               
                                    rs.update
                                    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



hmm, ...
Avatar billede mskjoldp Novice
06. december 2003 - 22:41 #4
Recorden er ikke slettet!
Avatar billede wilweb Nybegynder
06. december 2003 - 23:19 #5
Du har  rs.update 2 gange!


Hvorfor tester du på:
if mode = "edit" og på Request.ServerVariables("REQUEST_METHOD")="POST"
Avatar billede wilweb Nybegynder
06. december 2003 - 23:20 #6
fjern den første  rs.update
Avatar billede mskjoldp Novice
06. december 2003 - 23:38 #7
Jeg har mange if mode = xxx then dit og dat... POST er lavet for at sætte updaten igang... men kan den skabe fejlen?

fejlen flytDen første rs.update er slettet nu... men det hjælper ikke.. tes bare til næste linje... 1048:

bla bla

rs("brugernavn") = Server.HTMLEncode(Request("brugernavn"))

osv
Avatar billede wilweb Nybegynder
06. december 2003 - 23:48 #8
Humm! Har du nogen værdi i Server.HTMLEncode(Request("brugernavn"))
Avatar billede mskjoldp Novice
07. december 2003 - 00:01 #9
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>
                                <td><font class="main"><a href="default.asp?mode=edit&amp;id=<%=rs("id")%>"><%=rs("Brugernavn")%></a></font></td><td width="50%"><font class="main"><a href="default.asp?mode=edit&amp;id=<%=RS("id")%>"><%=rs("nick")%></a></font></td>

                            </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
                           
                                    'rs.update
                                    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
                       
                        %>
---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">
                   
                        <tr>
                            <td width="200"><font class="main-menu"><b>ID:</b></font></td>
                            <td> <input class="form" type="text" name="id" value="<%=rs("id")%>" size="20"></td>
                        </tr>
                   
                        <tr>
                            <td width="200"><font class="main-menu"><b>Brugernavn:</b></font></td>
                            <td> <input class="form" type="text" name="brugernavn" value="<%=rs("brugernavn")%>" size="20"></td>
                        </tr>
                       
                        <tr>
                            <td><font class="main-menu"><b>Adgangskode:</b></font></td>
                            <td>
                            <input class="form" type="text" name="adgangskode" value="<%=rs("brugerKode")%>" size="20"></td>
                        </tr>
                       
                        <tr>
                            <td><font class="main-menu"><b>Email:</b></font></td>
                            <td>
                            <input class="form" type="text" name="email" value="<%=rs("brugeremail")%>" size="20"></td>
                        </tr>
                        <tr>
                            <td><font class="main-menu"><b>[L4M3] Nick:</b></font></td>
                            <td>
                            <input class="form" type="text" name="nick" value="<%=rs("nick")%>" size="20"></td>
                        </tr>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Rigtigt navn:</b></font></td>
                            <td>
                            <input type="text" name="hjemmeside" class="form" value="<%=Rs("brugerhjemmeside")%>" size="20"></textarea></td>
                        </tr>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Favorite Quote:</b></font></td>
                            <td>
                            <input type="text" name="fri_tekst" class="form" value="<%=Rs("brugertekst")%>" size="20"></textarea></td>
                        </tr>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Favorite Weapon:</b></font></td>
                            <td>
                            <input type="text" name="weapon" class="form" value="<%=Rs("weapon")%>" size="20"></textarea></td>
                        </tr>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Favorite Level:</b></font></td>
                            <td>
                            <input type="text" name="bane" class="form" value="<%=Rs("bane")%>" size="20"></textarea></td>
                        </tr>
                        <tr>
                            <td><font class="main-menu"><b>Task: </b></font></td>
                            <td>
                            <input class="form" type="text" name="icq" value="<%=Rs("brugericq")%>" size="20"></td>
                        </tr>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Alder:</b></font></td>
                            <td>
                            <input type="text" name="alder" class="form" value="<%=Rs("brugeralder")%>" size="20"></textarea></td>
                        </tr>
                       
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Skal <u><%=rs("BrugerNavn")%></u> kunne ses:</b></font></td>
                        </tr>
                        <tr>
                            <% if RS("visnick") = "True" then %>
                            <td>
                                <font class="main-menu">Ja folk kan se personens andet nick:</font>
                            </td>
                            <td>
                                <input type="radio" name="showname" value="True" checked>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <font class="main-menu">Nej, personens nick skal ikke kunne ses:</font>
                            </td>
                            <td>
                                <input type="Radio" name="showname" value="False">
                            </td>
                            <% else %>
                            <td>
                                <font class="main-menu">Ja folk kan se personens andet nick:</font>
                            </td>
                            <td>
                                <input type="Radio" name="showname" value="True">
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <font class="main-menu">Nej, personens nick skal ikke kunne ses:</font>
                            </td>
                            <td>
                                <input type="Radio" name="showname" value="False" checked>
                            </td>
                            <% end if %>
                        </tr>
                        <% if session("admin") = "True" then %>
                        <tr>
                            <td valign="top"><font class="main-menu"><b>Admin:</b></font></td>
                        </tr>
                        <tr>
                            <% if rs("admin") = "True" then %>
                            <td>
                                <font class="main-menu">Er admin:</font>
                            </td>
                            <td>
                                <input type="radio" name="admin" checked value="True">
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <font class="main-menu">Er ikke admin:</font>
                            </td>
                            <td>
                                <input type="radio" name="admin" value="False">
                            </td>
                            <%else%>
                        <tr>
                            <td>
                                <font class="main-menu">Er admin:</font>
                            </td>
                            <td>
                                <input type="radio" name="admin" value="True">
                            </td>
                        </tr>
                            <td>
                                <font class="main-menu">Er ikke admin:</font>
                            </td>
                            <td>
                                <input type="radio" name="admin" value="False" checked>
                            </td>
                            <% end if %>
                        </tr>
                        <% else %>
                        <input type="hidden" name="admin" value="False" class="form">
                        <% end if %>
                       
                        <tr>
                            <td></td>
                            <td><input type="submit" value="Opdater" id="submit1" name="submit1" class="form"></td>
                        </tr>
                   
   
                            </form>
                    </table>
                <%
                rs.close
                set rs = nothing
               
                end if %>
<% '<!--/edit member --> %>

Det var en ordenlig omgang... håber ikke det er for meget
Avatar billede wilweb Nybegynder
07. december 2003 - 00:01 #10
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
Avatar billede wilweb Nybegynder
07. december 2003 - 00:03 #11
ellers tror jeg ikke jeg kan gøre mere, sorry!
Avatar billede mskjoldp Novice
07. december 2003 - 00:04 #12
ok
Avatar billede mskjoldp Novice
07. december 2003 - 00:18 #13
lukker spg
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