ADODB.connection数据库连接对象的关闭和开启是ASP执行数据库操作的重要环节。由于程序调用的复杂性,有时我们难以准确判断对象是否已经打开,需要用一个好的函数来帮忙。
<%Dim conn '声明Set conn = Server.CreateObject("ADODB.Connection") '创建'使用Set conn = Nothing '释放%>
我们通常用如上的形式来创建一个对象,并使用和释放它,问题是我们怎么去判断一个对象是否已被释放了呢?用IsObject可以吗?我们来试下:
<%Dim connResponse.Write(IsObject(conn)) '结果为FalseSet conn = Server.CreateObject("ADODB.Connection")Response.Write(IsObject(conn)) '结果为TrueSet conn = NothingResponse.Write(IsObject(conn)) '结果为True%>
可见并不能使用IsObject来判断一个对象是否已被释放,那我们用VarType或TypeName函数来试试看:
<%Dim connResponse.Write(TypeName(conn)) '结果EmptySet conn = Server.CreateObject("ADODB.Connection")Response.Write(TypeName(conn)) '结果ConnectionSet conn = NothingResponse.Write(TypeName(conn)) '结果Nothing%>
所以,判断一个对象是否被释放我们应用:TypeName(conn) = "Nothing"
注意:一定要用Nothing不能用nothing,小写结果就不为True了。