木子屋 Dnawo's BLOG

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

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

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

<% @LANGUAGE= VBScript %> 

<!--#includefile="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 (NotobjRS.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>" 

%>

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 关于学习ASP和编程的28个观点 下一篇 → 通过表单创建word的一个例子