<%
’************************************************************* ’转发时请保留此声明信息,这段声明不并会影响你的速度! ’*************************************************************
’************************************************************* ’@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 %>
|
|