反正我现在用这个做了很多站,自己觉得还是满有用的,所以拿出来和大家分享一下。支持三种数据库连接:MSSQL2000,MSSQL2005,ACCESS
三种方法:
select_table(sql)
表查询,返回TRUE或FALSE
当SQL语句出错,或空记录时返回FALSE,否则TRUE
update_table(SQL)
表更新,包括update,delete
成功执行返回TRUE,否则返回FALSE,updated为执行后影响记录行数。
insert_table(sql,table,id_column)
table为表名,id_column为表中自动编号,自增字段。
当成功执行返回TRUE,否则返回FALSE,指定TABLE,ID_column后,将返回最后添加记录所产生的自增ID。
select_table()相关方法Select_page(page,psize)
分页处理,page为当前页,psize为每页记录行数。
所有操作时,自动检测数据库链接和RS是否打开,执行后将自动关闭数据库链接。
示例:
setdb=newadodb_class
ifdb.select_table("select*fromnewsorderbyiddesc")then
page=request("page")
Select_page(page,20)'每页20条
fori=1to20
response.writedb.rs("title")'类内置rs,不可变
db.rs.movenext
ifdb.rs.eofthenexitfor
next
endif
db.rsPage=总页数,db.nowPage=经过处理后当前页,db.rsCounts数总记录数量。
ifdb.update_table("deletefromnewswhereispass=1")then'update同样
response.write"共删除"&db.updated&"行"
endif
calldb.insert_table("insertintonews(title,content)values('"&title&"','"&content&"')","news","id")
response.write"最后添加ID为"&db.Insertd
在页面最尾可输出db.readCounts为查询数据库次数。
--------------------------------------------
本类好处就是你不必担心忘记关闭数据库链接,不用频繁setrs=server.recordset("adodb.recordset"),也不用setrs=nothing
缺点就是翻页用的传统方式。rs.absolutepage=rs.pagesize
----------------------------------------------------------
<%
'/******kshop******/
'adodb_class.asp数据库操作类
'Version1.0
'Copyright[email][email protected][/email]
'E-mail[email][email protected][/email]