When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sections:
Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
XML Info
Information:
Feedback
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback
Print this page.
User Tips: Forget to Set your Recordset/Connection Objects Equal to Nothing?


By Tim H.

This piece code has been very helpful to me. I use it at the end of all my pages, regardless whether I open a recordset or not. It cleans up, if you forget. I check for rs and cnn, since that is what I usually name my Recordset and Connection objects. Replace these two variable names with whatever your standard Recordset/Connection object names are.

I recommend putting the below code snippet into an include file and including it in all of your ASP pages... to learn more about includes, check out: The Low-down on Includes.

Note: this will cause in error if, earlier in your script, you closed your Recordset or Connection object but did not explicitly free it by Setting it to Nothing

Here's the code!

<%
On Error Resume Next
If IsObject(rs) then
 rs.close
 Set rs = nothing
End if
If IsObject(cnn) then
 cnn.close
 Set cnn = nothing
End if
%>

Alert reader Stephen Vakil suggested that the following code snippet could also be used:

sub destroyAll
	'If it's a recordset and open, close it
	if TypeName(rs) = "Recordset" then
		if rs.state <> adStateClosed then
			rs.close
		end if
	end if
	'If it's a connection and open, close it
	if TypeName(cn) = "Connection" then
		if cn.state <> adStateClosed then
			cn.close
		end if
	end if
	set cm = nothing 'Dereference Command
	set pm = nothing 'Dereference Paramter
	set rs = nothing 'Dereference Recordset
	set cn = nothing 'Dereference Connection
end sub

Happy Programming!

Return to user tips...


ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article