在ASP中使用断开的记录集

原创 2005年03月01日 14:15:00
我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。
  下面我们就通过一个实例来说明这种技术的使用方法(NorthWind.mdb是Microsoft Access自带的一个数据库,文件adovbs.inc可在C:/Program Files/Common Files/System/ADO下找到):
<% @LANGUAGE = VBScript %>
<%
Response.Expires = 0
Dim Cnn,objRS, strOut, strQ, strC
StrC= "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/asp24")
& "/NorthWind.mdb;"
'建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open StrC
'创建Recordset对象
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = "SELECT 运货商ID, 公司名称, 电话 FROM 运货商 "
objRS.Open strQ, Cnn, , , adCmdText
Set objRS.ActiveConnection = Nothing   '断开记录集
Cnn.Close                 '关闭连接
Set Cnn = Nothing
Response.Write ""
'下面使用断开的记录集
Do While (Not objRS.EOF)
strOut = objRS("运货商ID") & ", " & objRS("公司名称") & ", " & objRS("电话")
Response.Write Server.HTMLEncode(strOut) & ""
objRS.MoveNext
Loop
Response.Write "
准备新增或插入记录: "
'若需要更新数据库, 则要重新建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open strC
Set objRS.ActiveConnection = Cnn
objRS.Filter = "公司名称 = '吴丰'"
If objRS.EOF Then
objRS.AddNew
objRS("公司名称") = "吴丰"
objRS("电话") = "571-7227298"
objRS.Update
Response.Write "符合该条件的记录不存在, 则新增.
"
Else
objRS("电话") = "571-7227071"
Response.Write "符合该条件的记录存在, 则 Update."
objRS.Update
End If
Set objRS.ActiveConnection = Nothing
Cnn.close
Set Cnn = Nothing
objRS.Close
Set objRS = Nothing
Response.Write ""
%>

相关文章推荐

ASP记录集分页

功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、...
  • hbqjzx
  • hbqjzx
  • 2012年03月05日 09:21
  • 2354

记录集分页显示示例asp

  • 2012年11月02日 17:08
  • 1KB
  • 下载

PHP5.6.7+连接SQL2008(2005)+使用SQLSRV读取记录集+返回参数

一. sqlsrv连接数据库 $serverName="ip, port"; $connectionInfo = array("UID"=>"username", "PWD"=>...

oracle使用游标让存储过程返回记录集

因为项目需要,需要写一个存储过程在oracle上,返回的是记录集,普通的存储过程貌似不可以,按照网上说的用指针写了一个出来,如下: --声明包头 CREATE OR REPLACE PACKAGE P...

使用Java泛型和反射技术将Mysql记录集转换为Javabean集合

实现原理: * 获取结果集的元数据,得到各列的列名称 * 使用反射,创建参数clazz的对象,调用对象与列名称相对应的所有的set方法 * 【注意】请确保结果集的列名称和Javabean的属性名...

C#使用存储过程来获取记录集

先看看我的SQL2005存储过程: create procedure sp_test AS SELECT * FROM Renter  //截图如下 ----------------...

遍历记录集

  • 2015年08月17日 15:37
  • 8.24MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP中使用断开的记录集
举报原因:
原因补充:

(最多只允许输入30个字)