close och nothing, skillnad?

ASP

4 svar · 248 visningar · startad av iceM2

Medlem sedan mars 2001243 inlägg
Trådstart#1

Det sägs att close helt logiskt kan stänga ett recordset och en koppling till en databas för att man sedan kan köra frågor till det ändå. Med set = nothing frigörs det från minnet, vad menas med det?

Jag skulle vilja veta när man ska använda vad??? Någon expert som har tips om detta?

Medlem sedan mars 20011 880 inlägg
#2

Enligt alla konstens regler, så bör svaret vara så här:
Close är lika med att du stänger objectet, Set Noting är lika med att du säger till applikationen att släppa objectet ur minnet.
DVS:
RS.Close
Set RS=Noting
Connection.Close
Set Connection=Noting.
RS är då lika med recordsetet och Connection är lika med din databaskoppling.
Någonting sådant skulle jag tro är ett ganska så bra svar..

Medlem sedan mars 2001243 inlägg
#3

Okej, ungefär vad jag visste sedan tidigare men när man använder close ska man väl så gott som alltid också använda nothing?

recset.close
set recset = nothing

Medlem sedan mars 20002 836 inlägg
#4

Så fort du har använt aktuellt recordset färdig så ska det stängas, i.e: objRS.Close

Om du behöver köra fler recordset så är det bara att öppna det igen med tex:
objRS.Open strSQL, objConn, 0, 1

Det är alltså frågan om ADODB.Recordsets eftersom ett recordset skapat genom connection objectet inte stödjer funktionen/metoden .Close

När man sedan ej behöver köra fler recordsets så "släpper" man det från minnet genom - Set objRS = Nothing

Detta gäller även connection objectet. När man kört färdigt tex ett recordset och man ej behöver ha en anslutning öppen så ska den stängas, objConn.Close, varvid man igen kan öppna den med - objConn.Open

När man är säker på att inga mer anslutningar till db behövs så "släpper" man även connection objectet från minnet genom:

Set objConn = Nothing

va nog allt för denna ggn,

cya,
PatrikB

Medlem sedan mars 2001243 inlägg
#5

Mycket bra förklaring, jag tackar om jag har förstått det hela rätt så använder man recset = nothing längst ner på asp sida där man ej kommer använda några mer record set

Annars gör man bara en close...

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