webForumDet fria alternativet
Logga in / Bli medlem

Response.End i Do... Loop

ASP

2 svar · 336 visningar · startad av Bengt Carlsson

Medlem sedan feb. 200326 inlägg
Trådstart#1

Hej
Jag vill avsluta hela skriptet med Response.End i en Loop. Jag hämtar strProdnr från ett formulär och vill jämföra det med prodnr i tabellen tbProduktion. Finns redan numret så ska allt avslutas, finns det inte fortsätter skriptet.
Koden nedan "borde" funka, men icke... Scriptet fortsätter även när villkoret är Sant.

Alltså hur får jag skriptet att avsluta när det sökt igenom recordset-et och hittat en match?

SQL = "SELECT prodnr FROM tbProduktion"
Set RS1 = Conn.Execute(SQL)
RS1.MoveFirst

Do while not RS1.EOF
If RS1("prodnr") = strProdnr Then
Response.Write("går inte")
Exit Do
Response.End()
End if
RS1.MoveNext
Loop

.... fortsatt kod

Medlem sedan juni 200032 967 inlägg
#2

Dylika villkor bör du ställa direkt i SQL-frågan.

SQL = "SELECT prodnr FROM tbProduktion WHERE prodnr = '" & replace(strProdnr, "'", ''") & "'"
Set RS1 = Conn.Execute(SQL)

iErr = 0

If Not RS1.EOF then iErr = 1

RS1.Close : Set RS1 = Nothing
Conn.Close : Set Conn  = Nothing

If iErr = 1 then
     Response.write "Iiiih! Den gubben går ju inte!!!"
     Response.End
End if

mvh

Medlem sedan feb. 200326 inlägg
#3

Tack - efter lite pyssel fick jag det att fungera som det ska.

256 ms totalt · 4 externa anrop · v20260731065814-full.442f7a9e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)