【原创:Asp|ADO】简化ADO数据库操作的控件(带分页功能)
创建对象:Set Conn = Server.CreateObject("Adodb.Connection")
Set Rs = Server.CreateObject("Adodb.RecordSet")
Conn.Open ConnStr
简化后的操作:
Set DB = GetObject("script:"&Server.MapPath("DbHelper.sct"))
DB.ConnStr = ConnStr
查询语句:
仅执行(原):Conn.Execute Sql
仅执行(简):DB.NonQuery Sql
查询一个数据(原):
Rs.Open Sql, Conn
result = ""
If Not Rs.Eof Then result = Rs(0).Value
Rs.Close
查询一个数据(简):
result = DB.Scalar(Sql)
查询分页数据(原):
Rs.Open Sql, Conn, 1, 3, 3
'此处省略处理当前页码等代码n行
C=0
while Not Rs.EOF and C<Rs.PageSize
C = C+1
' 显示数据Rs("FieldName")
Rs.MoveNext
Wend
Rs.Close
简化后的操作:
Set Ds = DB.DataSet(Sql, PageSize, Request.QueryString(Page))
For Each Item In Ds
If IsObject(Item) Then
' 显示数据Item.FieldName
End If
Next
Set Ds = Nothing
注销对象(原):
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
注销对象(简):Set DB = Nothing
[ 本帖由 Rimifon 最后编辑于 2006-8-1 17:54 ] 就这样子,有意思吗!?太有时间了,是不!?不懂!? 呵呵,仅供参考。 有点意思,有搞头,要得,改日试试 代码是变简洁了 不知道会不会影响到功能 一个页面执行一次Sql语句的话,不会影响到性能。如果一个页面要执行很多次Sql语句,而且使用的是同一个数据库连接,那么上面的方法可能会影响到性能,因为每执行一次Sql语句都要重新打开和关闭一次数据库连接。
如果存在多次数据操作,推荐使用如下方法:
Set Db = GetObject("script:"&Server.MapPath("DbHelper.sct"))
Db.ConnStr = yourConnStr
Set Rs1 = Db.RecordSet
' 如果存在多个数据库连接可以创建第二个Rs对象:
' Set Rs2 = Db.RecordSet(NewConnStr)
Db.NonQuery Sql1, Rs1
Db.NonQuery Sql2, Rs1
' ........
Rs1.ActiveConnection.Close 'Rs对象使用完后需要关闭数据库连接
' Rs2.ActiveConnection.Close
Set Rs1 = Nothing
'Set Rs2 = Nothing
Set Db = Nothing
[ 本帖由 Rimifon 最后编辑于 2006-9-9 10:36 ] 演示网站:http://www.fengyun.org
经过这几天的观察,服务器内存占用3天内保持在20M左右。
网站日访问量在100~300左右(网站建设中:D) 呵呵,花时间在asp上貌似不太值了
页:
[1]