webForumDet fria alternativet

en riktig function?

8 svar · 271 visningar · startad av LR^evil.sid

LR^evil.sidMedlem sedan maj 2002560 inlägg
#1

jag satt inatt och knackade lite kod och märkte att jag inte riktigt visste var jag måste stänga ett recordset i en case select. databas-kopplingen sker i case else som är det första som inträffar. då skrev jag denna lilla kodsnutt:

[red]<%
	function rsClose ()
		if isnull ( rs ( "cfg_dontask" ) ) then
			rs.close
			set rs = nothing
		end if

		con.close
		set con = nothing
	end function
%>[/red]

och undrar om det är riktigt att göra på det viset.

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Eftersom du inte returnerar något värde så är det mer korrekt att använda en sub. (Petitess)

Det är värre att du använder globala variabler. Skicka rs och con som parametrar och lägg kontrollen med isnull utanför rutinen. Det gör att du kan utnyttja rutinen även i andra sammanhang.

LR^evil.sidMedlem sedan maj 2002560 inlägg
#3

hur skulle den subrutinen se ut då?

[red]<%
	if not isnull ( rs ( "cfg_dontask" ) ) then call ( rsClose )

	sub rsClose ( rs, con )
		rs.close
		set rs = nothing

		con.close
		set con = nothing
	end sub
%>[/red]

typ eller?

har inte testat :)

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Ja, nästan

if not isnull ( rs ( "cfg_dontask" ) ) then call rsClose(rs,con)
LR^evil.sidMedlem sedan maj 2002560 inlägg
#5

ok... ska testa

thnx för tipset

LR^evil.sidMedlem sedan maj 2002560 inlägg
#6

funkar ju utmärkt, eller, hur kan jag kontrollera att ett recordset är stängt?

LR^evil.sidMedlem sedan maj 2002560 inlägg
#7

känner mig lite fånig:

[red]	sub rsClose ( rs, con )
		rs.close
		set rs = nothing

		con.close
		set con = nothing

		[b]response.write rs ( "cfg_dontask" )[/b]
	end sub[/red]

blir det fel är ju recordsettet stängt :)

emissionMedlem sedan dec. 19996 721 inlägg
#8

if rs.state=0 then ....

LR^evil.sidMedlem sedan maj 2002560 inlägg
#9

ok... det finns altså kod för sånt... hade jag ingen aning om thnx

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