![]() |
#2
yms1232008-10-04 17:17
|
就是我想统计数据库读取次数,而且呢当数据库有错误时进行详细提示,且简化代码,因为总是记不住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
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?
盼高手说原理