ASP数据库高速缓存类

阅读: 2 评论: 0 作者: eng308 发表于 2009-12-14 11:05 原文链接

1、类的基本信息

 

代码
<%
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
%>

 

 

2、使用方法

 

代码
<%
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 查看评论 发表评论


最新新闻:
· 传盛大密签王菲 春晚实为游戏电影造势(2010-02-06 12:28)
· 商业周刊:乔布斯iPad志在云计算(2010-02-06 12:27)
· 十大最佳Ajax教程(2010-02-06 12:21)
· 微软下周不修复新IE漏洞(2010-02-06 12:18)
· Firefox 4.0演示视频曝光(2010-02-06 12:10)

编辑推荐:ASP.NET MVC 2 RC 2 发布

网站导航:博客园首页  个人主页  新闻  闪存  小组  博问  社区  知识库

posted on 2009-12-14 11:05  开始上路  阅读(252)  评论(0编辑  收藏  举报