【 tulaoshi.com - ASP 】
                             
                                              我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。   
    下面我们就通过一个实例来说明这种技术的使用方法(NorthWind.mdb是Microsoft Access97自带的一个数据库,文件adovbs.inc可在C:Program FilesCommon FilesSystemADO下找到):   
  <% @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>"   
  %>