我們在使用asp 內建的ado元件進行資料庫程式設計時,通常是在指令碼的開頭開啟乙個連線,並在指令碼的最後關閉它,但是就較大指令碼而言,在多數情況下連線開啟的時間要比它需要開啟的時間長得多。因此為了節省伺服器資源,應該盡可能關閉連線以釋放連線所占有的資源,這種關閉記錄集的連線而不關閉記錄集的技術叫做斷開記錄集,這個記錄集本身則稱為斷開的記錄集。
下面我們就通過乙個例項來說明這種技術的使用方法(northwind.mdb是microsoft access97自帶的乙個資料庫,檔案adovbs.inc可在c:program filescommon filessystemado下找到):
<% @language= vbscript %>
<!--#includefile="adovbs.inc"-->
<%
response.expires = 0
dim cnn,objrs, strout, strq, strc
strc= "driver=; 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>"
%>
驅動程式中使用event view記錄日誌
eventdrv是ms ddk中的乙個demo,演示如何在驅動中使用event view日誌。本文譯自src general tracing evntdrv evntdrv.htm概述 event是核心態驅動執行日誌樣例.該驅動並不控制任何物理硬體,僅生成日誌事件.它用於演示如何在驅動中使用etw日...
ASP中使用Session變數的優缺點
許多人利用session變數來開發asp active server pages 這些變數與任何程式語言中通用的變數非常相似,並且具有和通用變數一樣的優點和缺陷。任何命令都需要執行時間和儲存空間 甚至goto s語句如此 session變數同樣需要自己的執行時間和儲存空間。過多地使用session變...
今天使用asp函式寫的程式
catalogid request.querystring catalogid set rs server.createobject adodb.recordset rs.open select from t business catalog where catalogid catalogid co...