数据库高速缓存类

<%
Class CacheConn
    Public Conn '数据连接对像
    Private ErrStr '出错字符串
    Private DBcache '是否使用dbcheck
    Private ConFlag '数据连接状态
    Private CookieName 'CookIe名(用于防止多网站冲突)
    Private ConnStr '连接数据字串

    '类始化
    Private Sub Class_Initialize()
        DBcache = 1
        ConFlag = 0
    End Sub

    '类注销
    Private Sub Class_Terminate()
        CloseDatabase
    End Sub

    Public Property Let inCookieName(Vstr) 'CookIe名(用于防止多网站冲突)
        CookieName = CStr(Vstr)
    End Property

    Public Property Let inConnStr(Vstr) '连接数据字串
        ConnStr = CStr(Vstr)
    End Property

    Public Property Let inDBcache(Vstr) '连接数据字串
        DBcache = CLng(Vstr)
    End Property

    '打开数据连接
    Public Sub OpenDatabase()
        If DBcache = 1 Then
            If IsObject(Application(CookieName & "conn")) = False Or Application(CookieName & "conn") = "" Or Application(CookieName & "conn") <> Empty Then
                Set Conn = Server.CreateObject("ADODB.Connection")
                Conn.ConnectionString = ConnStr
                Conn.Open
                If Err Then
                    Err.Clear
                    Set Conn = Nothing
                    ErrStr = ErrStr & "数据库连接错误!<br>" & vbCrLf
                    Response.Write ErrStr
                    Response.End
                End If
                Application.Lock
                    Set Application(CookieName & "conn") = Conn
                Application.UnLock
            Else
                Set Conn = Application(CookieName & "conn")
            End If
        Else
            Set Conn = Server.CreateObject("ADODB.Connection")
            Conn.ConnectionString = ConnStr
            Conn.Open
            If Err Then
                Err.Clear
                Set Conn = Nothing
                ErrStr = ErrStr & "数据库连接错误!<br>" & vbCrLf
                Response.Write ErrStr
                Response.End
            End If
        End If
        ConFlag = 1
    End Sub

    '关闭数据连接
    Public Sub CloseDatabase()
        If ConFlag = 0 Then Exit Sub
        If DBcache = 1 Then
            Set Conn = Nothing
        Else
            Conn.Close
            Set Conn = Nothing
        End If
        ConFlag = 0
    End Sub
End Class
%>


用法

<%
Dim GBL_ConnStr '连接数据语句
GBL_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("data/domain.mdb")
Const GBL_CookieName = "x86fly38domainmanager" '定义缓存名称(防止多网站冲突)
Const GBL_DBcache = 1 '定义是否使用缓存

Dim Conn
'打开数据
Sub inDatabase
        'On Error Resume Next
        Set eCon = New CacheConn
                eCon.inCookieName = GBL_CookieName
                eCon.inConnStr           = GBL_ConnStr
                eCon.inDBcache          = GBL_DBcache
                eCon.OpenDatabase
                                Set Conn = eCon.Conn
End Sub

'关闭数据
Sub OutDatabase
        Set eCon = Nothing
End Sub
%>  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值