When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs



















internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Business Systems Analyst - Clearing - SQL Server - ASP - VB (IL)
Next Step Systems
US-IL-Chicago

Justtechjobs.com Post A Job | Post A Resume

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...


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


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers