データベース プログラミングに ASP の組み込み ADO コンポーネントを使用する場合、通常はスクリプトの開始時に接続を開き、スクリプトの最後に接続を閉じます。ただし、大規模なスクリプトの場合、ほとんどの場合、接続を開く時間は通常よりも長くなります。それは開くのにはるかに時間がかかります。したがって、サーバー リソースを節約するには、接続をできるだけ閉じて、接続によって占有されているリソースを解放する必要があります。レコード セットを閉じずにレコード セットの接続を閉じるこの手法は、切断されたレコード セットと呼ばれます。レコード セット自体は、切断されたレコード セットと呼ばれます。
以下では、例を使用してこのテクノロジの使用法を説明します (NorthWind.mdb は Microsoft Access97 に付属のデータベースであり、ファイル adovbs.inc は C:/Program Files/Common Files/System/ADO にあります)。
次のようにコードをコピーします。
<% @LANGUAGE = VBScript %>
<!--#include file=adovbs.inc-->
<%
応答.期限切れ = 0
Dim Cnn、objRS、strOut、strQ、strC
StrC= Driver={Microsoft Access Driver (*.mdb)}; DBQ= & Server.MapPath(/asp24) & /NorthWind.mdb;
'接続を確立する
Cnn = Server.CreateObject(ADODB.Connection) を設定します。
Cnn.OpenStrC
' Recordset オブジェクトの作成
objRS = Server.CreateObject(ADODB.Recordset) を設定します。
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = キャリア ID、会社名、電話番号をキャリアから選択します
objRS.Open strQ、Cnn、、、adCmdText
Set objRS.ActiveConnection = Nothing 'レコードセットを切断します
Cnn.Close '接続を閉じます
Cnn = なしを設定します
Response.Write <HTML><BODY>
'以下の壊れたレコードセットを使用してください
Do While (objRS.EOF ではありません)
strOut = objRS(配送業者ID) & , & objRS(会社名) & , & objRS(電話番号)
Response.Write Server.HTMLEncode(strOut) & <BR>
objRS.MoveNext
ループ
Response.Write <BR>レコードの追加または挿入の準備をします。
'データベースを更新する必要がある場合は、接続を再確立する必要があります
Cnn = Server.CreateObject(ADODB.Connection) を設定します。
Cnn.Open strC
objRS.ActiveConnection = Cnn を設定します
objRS.Filter = 会社名 = '呉峰'
objRS.EOF の場合
objRS.AddNew
objRS(会社名) = 呉峰
objRS(電話) = 571-7227298
objRS.Update
Response.Write この条件を満たすレコードが存在しない場合は追加します。<BR>
それ以外
objRS(電話) = 571-7227071
Response.Write この条件に一致するレコードが存在する場合は更新します。<BR>
objRS.Update
終了の場合
objRS.ActiveConnection = なしを設定します
Cnn.close
Cnn = なしを設定します
objRS.Close
objRS = なしを設定します
Response.Write </BODY></HTML>
%>