发新话题
打印

asp对象化之:数据库结果集合操作类

asp对象化之:数据库结果集合操作类

<%  

’*************************************************************  
’转发时请保留此声明信息,这段声明不并会影响你的速度!  
’*************************************************************  


’*************************************************************  
’@author:                        面条  
’@realname:                        徐仁禄  
’@email:                        xurenlu@sohu.com  
’@QQ:                            55547082  
’@Homepage:                        http://www.ksdn.net  
’@版权申明:  
’            非盈利性质团体或者个人可以免费使用.  
’*************************************************************  


’*************************************************************  
’*************************************************************  
’*************************************************************  
class Rsclass  
    private iRs  
    private isql  
    private iconn  
    private closeConn  
    private openConn  

’*************************************************************  
’        进行初始化,建立iconn和irs对象.  
’*************************************************************  
    Private Sub Class_initialize()   
        set iconn=server.createobject("adodb.connection")  
        set irs=server.createobject("adodb.recordset")  
    End Sub   
      
    public sub connect(connstr)  
        err.clear  
        on error resume next  
        iconn.open connstr  
        if err.number<>0 then response.write "数据联接出错了."  
    end sub  
      
    public property let conn(connection)  
        set iconn=connection        ’通过外界传入一个数据库联接.  
    end property  
      
      
      
    Private Sub Class_Terminate()   
        on error resume next  
        irs.close  
        iconn.close  
        set iconn=nothing  
        set irs=nothing  
    End Sub   

’*************************************************************  
’        内容:实现统计功能,一般用select count(*) from table where id>54类似的sql语句.  
’*************************************************************  
    public function getCountBysql(sql)  
        on error resume next  
        dim count  
        count=iconn.execute(sql)(0)  
        getCountBysql=count  
        iconn.close  
    end function   
      
      
      

’*************************************************************  
    public function deleteBySql(sql)  
        err.clear  
        on error resume next  
        iconn.execute(sql)  
        if err.errcode<>0 then  
            deleteBysql=false  
            exit function  
        end if  
        deleteBySql=true  
    end function   


’*************************************************************  
    public function deleteByid(table,column,value)  
        err.clear  
        on error resume next  
        iconn.execute("delete from "&table & " where "&column & "=’"&value & "’")  
        if err.errcode<>0 then  
            deleteByid=false  
            exit function  
        end if  
        deleteByid=true  
    end function   


’*************************************************************  
’        返回一个词典,用这个词典来装载要添加的对象.  
    public function getdict()  
        set getdict=server.createobject("scripting.dictionary")      
    end function   

’*************************************************************  
’        增加新的记录.  
    public function add(obj,table)  
        dim item  
        isql="select * from " & table  
        response.write isql  
        iRs.open isql,iconn,1,3  
        irs.addnew  
        for each item in obj  
            irs(item)=obj(item)  
        next   
        irs.update  
        irs.close  
    end function   
      
      

’*************************************************************  
’        得到查询得返回值  
    public function getquery(sql)  
        iRs.open sql,iconn,1,1   
        if irs.eof and irs.bof then  
            getquery=null  
        else  
            set getquery=irs  
        end if  
    end function   

    public function getqueryPage(sql,pageNum,PageSize)  
        on error resume next  
        iRs.pageSize=pageSize  
        iRs.open sql,iconn,1,1   
        iRs.AbsolutePage=pageNum  
        if irs.eof and irs.bof then  
            getqueryPage=null  
        else  
            set getqueryPage=irs  
        end if  
         
        response.write "<span style=’color:green;’>"& err.number & err.description &"</span>"  
    end function   
      
      
’*************************************************************  
’        让结果集移动到第n页.  
    public function setPage(pageNum,PageSize)  
        on error resume next  
        iRs.moveFirst  
        iRs.move((pageNum-1)*PageSize)  
    end function   


end class  



’*************************************************************  
用法示例:  
dim cstr  
dim path  
path=server.mappath("2data.mdb")  
cstr= "DBQ="+path+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"  
dim rec  
set rec=new RsClass  
rec.connect(cstr)  


response.write "************************"  
set tt=rec.getqueryPage("select top 8 * from help",2,4)  
response.write tt.recordcount & "<br>"  
do while not tt.eof   
    response.write tt(0) &"<br>"  
    tt.movenext  
loop  
tt.movefirst  
tt.close  
%>

TOP

玻璃钢水箱

提示: 作者被禁止或删除 内容自动屏蔽

TOP

充斥于民族的文化

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题