在ASP中使用断开的记录集

2008-02-23 05:31:31来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

我们在使用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>"

%>

  由于篇幅所限,笔者点到为止,有兴趣可去我的主页 http://wuf.bentium.net 下载更多的源程式,另外也可参考VB6.0的MSDN文档中有关ADO的部分。




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: SCO UNIX管理的几个技巧

下一篇: ASP数据库编程技巧

热门词条
热门标签