您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp编程 >> 正文

ASP教程:自己写的数据库操作类

作者:佚名    责任编辑:admin    更新时间:2022-06-22

程序代码:

以下为引用的内容:
<%
Class dbClass
'-------------------------------------------------------------------------
    '变量说明
    'conn-----------connection对象
    'strsql---------执行查询的语句
    'vTbName--------查询分页的表名
    'vPKey----------查询分页的表的主键
    'vPgFields------查询分页要显示的字段
    'vPgSize--------查询分页每页显示的记录数
    'vCurrPg--------查询分页显示的当前页
    'vConditions----查询分页的条件
    'vOrderBy-------查询分页的排序
'-------------------------------------------------------------------------
    private conn,strsql,vTbName,vPKey,vPgFields,vPgSize,vCurrPg,vConditions,vOrderBy
    '类的初始化
    private Sub Class_Initialize()
        '当是MS Sql数据库时设置以下两个变量
        'dim dbServer            '数据库服务器的名称或ip地址
        'dim dbname              '数据库的名字
        dim dbPath              '若是Access数据库,此处设置其路径
        dim dbUser              '数据库的登录用户名
        dim dbPass              '数据库的登录密码
        dim connstr
        dbPath = "/testasp/data/data.mdb" '设置数据库路径
        dbUser = "admin"
        dbPass = "123456"
        '若是access,并且有密码
        connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbPath) &_
         ";User ID=" & dbUser & ";Password=;Jet OLEDB:Database Password=" & dbPass
        '若是access,并且没有密码
        'connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(dbPath)
        '若是ms-sql数据库
        'connstr = "Provider = Sqloledb; User ID = " & dbUser & "; Password = " & dbPass &_
        ' "; Initial Catalog = " & dbname & "; Data Source = " & dbServer
        on error resume next
        set conn=server.CreateObject("adodb.connection")
        conn.open connstr
        errMsg "连接数据库"
    End Sub
    '类结束
    Private Sub Class_terminate()
        conn.close
        set conn=nothing
    End Sub
'-------------------------------------------------------------------------
'给类的变量设置值
'-------------------------------------------------------------------------   
    '设置sql语句
    Public Property Let sqlStr(Byval Values)
    strsql=Values
    End Property
    '设置查询分页的表名
    public property let tbName(Byval Values)
    vTbName=Values
    end property
    '--------------------------------------------------------
    '设置查询分页的表的主键
    public property let pKey(ByVal Values)
    vPKey=Values
    end property
    '--------------------------------------------------------
    '设置显示的字段
    public property let pgFields(ByVal Values)
    vPgFields=Values
    end property
    '--------------------------------------------------------
    '设置每页显示的记录数
    public property let pgSize(ByVal Values)
    vPgSize=Values
    end property
    '---------------------------------------------------------
    '设置当前显示的页数
    public property let currPg(ByVal Values)
    vCurrPg=Values
    end property
    '--------------------------------------------------------
    '设置查询的条件
    public property let conditions(ByVal Values)
    if Len(Values)>0 then
    vConditions=" where "&Values
    else
    vConditions=" where 1=1 "
    end if
    end property
    '-------------------------------------------------------
    '设置查询的排序
    public property let orderBy(ByVal Values)
    if Len(Values)>0 then
    vOrderBy=" order by "&Values
    else
    vOrderBy=Values
    end if
    end property   
    '-------------------------------------------------------------
    '得到记录总数
    public property get vRsCount()
    if vCurrPg=1 then
    sqlc="select count("&vPKey&") as Idcount from "&vTbName&" "&vConditions
    set rsc=server.CreateObject("adodb.recordset")
    rsc.open sqlc,conn,0,1
    RsNum=rsc("IdCount")
    rsc.close
    set rsc=nothing
    if RsNum>0 then
    response.Cookies("iRecord")=RsNum
    vRsCount=RsNum
    else
    vRsCount=0
    end if
    else
    vRsCount=request.Cookies("iRecord")
    end if
    end property
    '得到总页数
    public property get vPgCount()
    iRsCount2=vRsCount()
    if iRsCount2 mod vPgSize =0 then
    vPgCount=int(iRsCount2/vPgSize)
    else
    vPgCount=int(iRsCount2/vPgSize)+1
    end if
    end propert