webForumDet fria alternativet

Loop fel?

5 svar · 161 visningar · startad av sven

svenMedlem sedan aug. 2001383 inlägg
#1

Hjälp...

Får inte detta att funka. Den loopar inte genom RS utan kollar bara den första. Förmodligen bara ett tankefel från mig (stort tankefel)... med vad?

<%
SQL = "SELECT user2 FROM tbl_user"
set RS = db.Execute(SQL)
Do until RS.EOF
	
if Request.Form("user2") = RS("user2") then
session("finns") = "Det finns redan en användare med det namnet. Välj ett annat"
Response.Redirect("new.asp")
	
else if request.form("user2") = "" then
session("finns") = "Du måste välja ett användarnamn"
Response.Redirect("new.asp")
	
else
Response.Redirect("pass.asp")
		
end if
end if
RS.MoveNext
Loop	
%>

------------------
/Sven

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det är bättre att lägga in villkoret i sql-satsen.

<%
if request.form("user2") = "" then
session("finns") = "Du måste välja ett användarnamn"
Response.Redirect("new.asp")
end if

SQL = "SELECT user2 FROM tbl_user where user2 = '" & Request.Form("user2") & "'"

set RS = db.Execute(SQL)
exists = not rs.eof
rs.close
db.close
if exists then
session("finns") = "Det finns redan en användare med det namnet. Välj ett annat"
Response.Redirect("new.asp")
end if

Response.Redirect("pass.asp")

%>

------------------
essentitia preter non sans multiplicandum

jorgenMedlem sedan feb. 20012 412 inlägg
#3

Hej, ställ vilkoret i SQL-frågan istället. Det är bättre.

mvh Jörgen :)

<%
SQL = "SELECT user2 FROM tbl_user " & _
" WHERE user2 = '"& request.form("user2") &"' "
set RS = db.Execute(SQL)

If RS.EOF Then

'#-- användanamnet fanns inte --

else

Do until RS.EOF

'#-- användanamnet fanns --

RS.MoveNext
Loop 
End If
%>

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

[Redigerat av jorgen den 04 jan 2002]

svenMedlem sedan aug. 2001383 inlägg
#4

Tackar och bugar....

Undrar bara. Jörgen. Varför är det bättre så som du föreslår?

------------------
/Sven

jorgenMedlem sedan feb. 20012 412 inlägg
#5

Hej, du behöver hämta mindre information från databasen om du ställer villkoret i SQL-frågan. Då får du nämligen bara den information du behöver.

Observera att jag menade inte att min kod var bättre än LarsG:s, (vi skrev våra inlägg samtidigt) utan av den anledning jag skrev ovan. Precis som LarsG också påpekade.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

svenMedlem sedan aug. 2001383 inlägg
#6

Oppssss...

Såg inte att LarsG hade samma förslag :r

Men nu fattar jag i alla fall varför det är bättre att ställa vilkoret i SQL satsen.

------------------
/Sven

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)