webForumDet fria alternativet

Response.End i Do... Loop

2 svar · 334 visningar · startad av Bengt Carlsson

Bengt CarlssonMedlem sedan feb. 200326 inlägg
#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

@ndersMedlem sedan juni 200032 969 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

Bengt CarlssonMedlem sedan feb. 200326 inlägg
#3

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

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