webForumDet fria alternativet

fel vis RS i ett annat RS?

ASP

8 svar · 246 visningar · startad av G8

Medlem sedan jan. 20011 213 inlägg
Frågan#1

Hmm, varför blir det så här, jag har ett recordset där jag bl. a. hämtar ut värdet "last". När jag senare ska använda det värdet för att kolla om jag ska göra ett RS till, så får jag felmeddelande på raden som avslutar det sista RS'et...

Hur ska man annars avsluta om man inte kan göra så?

if rs("last") = 0 then
stm2 = "UPDATE users SET mailbox=mailbox - 1 WHERE users.ID="&UID
Set rs3 = connection.execute(stm2)
[B]rs3.close[/B]
Medlem sedan jan. 20011 213 inlägg
#2

Kom på vad det var nu, hade glömt att skriva till

if rs("last") = 0 then
[B]set rs3 = Server.CreateObject("adodb.Recordset")[/B]
stm2 = "UPDATE users SET mailbox=mailbox - 1 WHERE users.ID="&UID
Set rs3 = connection.execute(stm2)
rs3.close

DOH! :r

Medlem sedan feb. 20012 412 inlägg
#3

Men du behöver inte skapa ett recordset vid en update.

Medlem sedan jan. 20011 213 inlägg
#4

huh, hur ska man exekvera sql stängen då?

:r

Medlem sedan aug. 20011 099 inlägg
#5
if rs("last") = 0 then
stm2 = "UPDATE users SET mailbox=mailbox - 1 WHERE users.ID="&UID
connection.execute(stm2),,128
Medlem sedan feb. 20022 594 inlägg
#6
if rs("last") = 0 then
stm2 = "UPDATE users SET mailbox=mailbox - 1 WHERE users.ID="& UID
connection.execute(stm2) ,,128
Medlem sedan jan. 20011 213 inlägg
#7

Oki, det är ju ett sätt...

vad gör ,,128 på slutet?

Medlem sedan jan. 20011 213 inlägg
#8

Hittade detta...

128 innebär att ADO inte skapar något recordset. Om man inte anger det så skapas ett tomt och stängt recordset när man gör execute på kommandon som inte returnerar någon post.

Tack för hjälpen :birp

//G8

Medlem sedan aug. 20011 099 inlägg
#9

precis :birp

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)