有个问题请高手解释一下!
在写我的网站时遇到这样一个情况就是我想统计数据库读取次数,而且呢当数据库有错误时进行详细提示,且简化代码,因为总是记不住set rs=???????
呵呵,于是想到了Function
与是在我自己写的类里面集成了这个Function
程序代码:
Public Function Open(rsName,sqlName,a,b) If Not IsObject(Conn) Then OpenConn IF CE_Clng(a) = 0 or CE_Clng(b) = 0 Then ErrMsg = "记录集打开参数错误" Call WriteErrMsg(0,-1,"") End IF IF sqlName = "" or IsNull(sqlName) Then ErrMsg = "所需打开记录集为空" Call WriteErrMsg(0,-1,"") End IF On Error Resume Next Set rsName = Server.CreateObject("Adodb.Recordset") rsName.Open sqlName,Conn,a,b If Err Then Set rsName = Nothing Conn.Close : Set Conn = Nothing Response.Write "<span style='font-size:14px;'>执行查询代码时发现错误。<br />"&sqlName&"</span>" ExecuteErr Else SqlQueryNum=SqlQueryNum+1 End IF End Function
然后我在测试时是这样
Set CE = New CE_Cache '这个是调入类的
Dim rs,sql
sql = "selec * from config"
CE.Open rs,sql,1,1
response.write rs(0)
测试后尽然通过
但是百思不得其解的是我在过程里截断看rsName是否有值时确看到是空值
但是语名是没问题,我就是不明白这里的rs如何传到函数内的!是直接将rsname替换为rs?
盼高手说原理