欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-06 17:33:58
因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。下面我们就通过一...
因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。

下面我们就通过一个实例来说明这种技术的使用方法(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>"
%>