当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP程序中使用断开的数据记录集

ASP
ASP编程入门进阶(十二):ASP技巧累加(一)
ASP编程入门进阶(十三):Ad & Content Rotator
ASP编程入门进阶(十四):Browser & Linking
ASP编程入门进阶(十五):组件Counters
一些简单的ASP练习
ASP编程入门进阶(十六):FSO组件之驱动器操作
ASP编程入门进阶(十七):FSO组件之文件夹操作
ASP编程入门进阶(十八):FSO组件之文件操作(上)
ASP编程入门进阶(十八):FSO组件之文件操作(中)
ASP编程入门进阶(十八):FSO组件之文件操作(下)
ASP编程入门进阶(十九):ASP技巧累加(二)
ASP中有关双引号,单引号以及&号的解释
ASP编程入门进阶(二十):ADO组件之显示数据记录
ASP编程入门进阶(二十):ADO组件之插入数据记录
ASP编程入门进阶(二十):ADO组件之分页程序
ASP编程入门进阶(二十):ADO组件之修改数据记录
ASP编程入门进阶(二十):ADO组件之删除数据记录
ASP初学者常犯的几个错误(ZT)
无组件上传图片之文件采用方案
ASP编程入门进阶(二十):ADO组件之查询数据记录

ASP程序中使用断开的数据记录集


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 148 ::
收藏到网摘: n/a

我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。

下面我们就通过一个实例来说明这种技术的使用方法(NorthWind.mdb是Microsoft Access97自带的一个数据库,文件adovbs.inc可在C:\Program Files\Common Files\System\ADO下找到):

以下为引用的内容:
<% @LANGUAGE = VBScript %>
<!--#include file="adovbs.inc"-->
<%
 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 "<HTML><BODY>"
 '下面使用断开的记录集
 Do While (Not objRS.EOF)
  strOut = objRS("运货商ID") & ", " & objRS("公司名称") & ", " & objRS("电话")
  Response.Write Server.HTMLEncode(strOut) & "<BR>"
  objRS.MoveNext
 Loop
 Response.Write "<BR>准备新增或插入记录: "

 '若需要更新数据库, 则要重新建立连接
 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 "符合该条件的记录不存在, 则新增.<BR>"
 Else
  objRS("电话") = "571-7227071"
  Response.Write "符合该条件的记录存在, 则 Update.<BR>"
  objRS.Update
 End If
 Set objRS.ActiveConnection = Nothing
 Cnn.close
 Set Cnn = Nothing
 objRS.Close
 Set objRS = Nothing
 Response.Write "</BODY></HTML>"
%>