设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

查看: 13885|回复: 8

【原创:Asp|ADO】简化ADO数据库操作的控件(带分页功能) [复制链接]

超级版主

新手上路

Rank: 8Rank: 8

注册时间
2004-5-22
威望
3336
阅读权限
150
积分
6241
帖子
3329
精华
3
UID
11749
状态
当前离线
发表于 2006-6-25 23:34:05 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料 查看个人网站
一键分享 一键分享
创建对象:
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 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?加入无忧
風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)

Rank: 2

升级  9.33%

注册时间
2005-7-13
威望
42
阅读权限
20
积分
64
帖子
22
精华
0
UID
32762
状态
当前离线
发表于 2006-6-27 20:45:26 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料
就这样子,有意思吗!?太有时间了,是不!?不懂!?

使用道具 举报

超级版主

新手上路

Rank: 8Rank: 8

注册时间
2004-5-22
威望
3336
阅读权限
150
积分
6241
帖子
3329
精华
3
UID
11749
状态
当前离线
发表于 2006-8-1 17:53:41 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料 查看个人网站
呵呵,仅供参考。
風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)

使用道具 举报

Rank: 2

升级  80.67%

注册时间
2005-8-30
威望
65
阅读权限
20
积分
171
帖子
47
精华
0
UID
36269
状态
当前离线
发表于 2006-9-7 14:33:23 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料
有点意思,有搞头,要得,改日试试

使用道具 举报

Rank: 4

升级  6.4%

注册时间
2006-8-16
威望
277
阅读权限
50
积分
532
帖子
343
精华
0
UID
55464
状态
当前离线
发表于 2006-9-8 16:27:17 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料 QQ ICQ Yahoo!
代码是变简洁了  不知道会不会影响到功能

使用道具 举报

超级版主

新手上路

Rank: 8Rank: 8

注册时间
2004-5-22
威望
3336
阅读权限
150
积分
6241
帖子
3329
精华
3
UID
11749
状态
当前离线
发表于 2006-9-9 10:34:12 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料 查看个人网站
一个页面执行一次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 ]
風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)

使用道具 举报

超级版主

新手上路

Rank: 8Rank: 8

注册时间
2004-5-22
威望
3336
阅读权限
150
积分
6241
帖子
3329
精华
3
UID
11749
状态
当前离线
发表于 2006-9-9 10:43:23 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料 查看个人网站
演示网站:http://www.fengyun.org

经过这几天的观察,服务器内存占用3天内保持在20M左右。
网站日访问量在100~300左右(网站建设中:D)
風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)

使用道具 举报

Rank: 6Rank: 6

升级  5.25%

注册时间
2008-12-31
威望
540
阅读权限
70
积分
1105
帖子
571
精华
0
UID
94274
状态
当前离线
发表于 2009-1-8 14:09:39 |显示全部楼层 |串个门|加好友|打招呼|发消息 |
查看详细资料
呵呵,花时间在asp上貌似不太值了

使用道具 举报

您需要登录后才可以回帖 登录 | 加入无忧

Archiver|手机版|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445  

GMT+8, 2012-2-7 21:41 , Processed in 0.055852 second(s), 14 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 1999-2011 无忧脚本

回顶部