标题: 【原创:Asp|ADO】简化ADO数据库操作的控件(带分页功能)
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5914
帖子 3203
威望 3193
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2006-6-25 23:34  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
【原创: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 ]



 附件: 您所在的用户组无法下载或查看附件




風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
vfphome
爬虫
Rank: 2



UID 32762
精华 0
积分 64
帖子 22
威望 42
阅读权限 20
注册 2005-7-13
状态 离线
 
发表于 2006-6-27 20:45  资料  个人空间  短消息  加为好友 
就这样子,有意思吗!?太有时间了,是不!?不懂!?

顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5914
帖子 3203
威望 3193
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2006-8-1 17:53  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
呵呵,仅供参考。





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
xeonwell
爬虫
Rank: 2



UID 36269
精华 0
积分 170
帖子 46
威望 65
阅读权限 20
注册 2005-8-30
状态 离线
 
发表于 2006-9-7 14:33  资料  个人空间  短消息  加为好友 
有点意思,有搞头,要得,改日试试

顶部
likexq2003
大恐龙
Rank: 4


UID 55464
精华 0
积分 532
帖子 343
威望 277
阅读权限 50
注册 2006-8-16
来自 湖北武汉
状态 离线
 
发表于 2006-9-8 16:27  资料  个人空间  短消息  加为好友  添加 likexq2003 为MSN好友 通过MSN和 likexq2003 交谈 QQ ICQ 状态 Yahoo!
代码是变简洁了  不知道会不会影响到功能





顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5914
帖子 3203
威望 3193
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2006-9-9 10:34  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
一个页面执行一次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 ]





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5914
帖子 3203
威望 3193
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2006-9-9 10:43  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
演示网站:http://www.fengyun.org

经过这几天的观察,服务器内存占用3天内保持在20M左右。
网站日访问量在100~300左右(网站建设中:D)





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
naojin
大恐龙
Rank: 4



UID 94274
精华 0
积分 887
帖子 482
威望 456
阅读权限 50
注册 2008-12-31
状态 离线
 
发表于 2009-1-8 14:09  资料  个人空间  短消息  加为好友 
呵呵,花时间在asp上貌似不太值了

顶部
 



当前时区 GMT+8, 现在时间是 2010-7-31 04:52
苏ICP备05080427号

Powered by Discuz! 5.5.0  © 2001-2007 51JS.COM
Processed in 0.228266 second(s), 8 queries , Gzip enabled

清除 Cookies - 联系我们 - 无忧脚本 - Archiver