Jag skulle gissa på att det beror på att recordsetet blockRS är tomt, dvs EOF.
Varför ställer du inte villkoret direkt i SQL-frågan?
mvh
10 svar · 338 visningar · startad av WebbisNet
Nån som vet varför man får undantag inträffade
jag får det på denna rad
<%If Request.QueryString("userID") <> blockRS("vemArBlockad") then%>
Om användaren man besöker inte finns i listan över blockade så ska man kunna besöka användaren, annars kommer en text fram som visar att man är blockad
Jag skulle gissa på att det beror på att recordsetet blockRS är tomt, dvs EOF.
Varför ställer du inte villkoret direkt i SQL-frågan?
mvh
@nders skrev:
Jag skulle gissa på att det beror på att recordsetet blockRS är tomt, dvs EOF.
Varför ställer du inte villkoret direkt i SQL-frågan?
mvh
Nu har jag
<%Set blockRS=objConn.Execute("SELECT * FROM tblUsers_block")%>
<%If Request.QueryString("userID") <> blockRS("vemArBlockad") then
do until blockRS.eof%>
koden för att visa sidan
<%Else%>
du är blockerad av användaren
<%blockRS.movenext: loop
End if%>
och får detta meddelande
'Loop' förväntas.
/view.asp, line 224
Else
@nders skrev:
Varför ställer du inte villkoret direkt i SQL-frågan?
Set blockRS=objConn.Execute("SELECT * FROM tblUsers_block where vemArBlockad = " & request.querystring("userid"))
If not blockRS.EOF then
Response.write "Du är blockerad av användaren."
End if
Du bör dock se till att skydda dig mot SQL Injection på värden du konkatenerar in i SQL-frågan. Jag tycker inte heller det verkar helt bra att skicka användar-id i querystring i detta fall, det är ju bara för användaren att ändra?
jag kör med skydd från injection när jag placerar värdena i variabeln
WebbisNet skrev:
jag kör med skydd från injection när jag placerar värdena i variabeln
Inte i mitt kodexempel ovan, jag bara påminde.
@nders skrev:
@nders skrev:
Varför ställer du inte villkoret direkt i SQL-frågan?
Set blockRS=objConn.Execute("SELECT * FROM tblUsers_block where vemArBlockad = " & request.querystring("userid")) If not blockRS.EOF then Response.write "Du är blockerad av användaren." End ifDu bör dock se till att skydda dig mot SQL Injection på värden du konkatenerar in i SQL-frågan. Jag tycker inte heller det verkar helt bra att skicka användar-id i querystring i detta fall, det är ju bara för användaren att ändra?
jag gick över till forms, mitt problem nu är att för få parametrar angavs, när jag skriver ut strängen får jag med värdet i username
SET objConn = connect()
varName=request.querystring("username")
delete = "DELETE FROM tblUsers_block WHERE vemArBlockad="&varName
objConn.Execute delete
response.redirect "/settings/?do=block"
Vad var det vi sa om apostrofer runt strängvärden i SQL? ;)
@nders skrev:
Vad var det vi sa om apostrofer runt strängvärden i SQL? ;)
just det ja *ler*
*me so sorry*
har inte sovit på hela natten *ler*
Det är inget försvar. ;)