简化ADO数据库操作的控件(带分页功能)

作者:Rimifon 来源:无忧脚本 时间:2008-05-20 13:15:00 

一个页面执行一次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

创建对象:

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


 

标签:ado,sql,数据库,asp,性能
0
投稿

猜你喜欢

  • 三种不同方式连接MySQL数据库的方法及示例

    2010-06-11 13:37:00
  • SQL语句参考及记录集对象详解

    2008-11-25 11:47:00
  • Opera Mini 5 网站开发速记

    2010-04-20 16:29:00
  • Mootools 1.2教程(15)——滚动条(Slider)

    2008-12-09 17:35:00
  • 安装Oracle加载数据库错误areasQueries的解决

    2010-07-27 13:02:00
  • asp如何显示数据库中的图片和超级链接?

    2010-06-08 09:38:00
  • Ajax+asp应用实例 注册模块,表单提交

    2011-04-08 10:47:00
  • SQL Server中读取XML文件的简单做法

    2008-12-23 15:29:00
  • FrontPage服务器扩展

    2008-03-05 13:05:00
  • JavaScript 解析 Cookie 的函数

    2007-11-08 11:58:00
  • PHPMyadmin2.10中文显示为乱码的解决办法

    2007-08-22 08:18:00
  • Google首页的CSS Sprite

    2007-09-29 21:36:00
  • 百万级asp分页存储过程代码(ver2.0)

    2007-12-17 13:13:00
  • JavaScript 图片变换效果(ie only)

    2010-01-20 12:40:00
  • 通过asp程序来创建access数据库

    2011-04-02 11:17:00
  • asp 类型转换函数大全第1/2页

    2011-04-07 11:06:00
  • js实现单机双人象棋设计分析

    2008-05-20 12:57:00
  • 怎样解决MySQL 5.0.16的乱码问题

    2008-10-13 12:47:00
  • IE多版本共存的解决方案——IETester(推荐)

    2009-03-26 12:47:00
  • Dreamweaver技巧十二招

    2009-07-05 18:53:00
  • asp之家 网络编程 m.aspxhome.com