Когда мы используем встроенный компонент ADO ASP для программирования базы данных, мы обычно открываем соединение в начале сценария и закрываем его в конце сценария. Однако для более крупных сценариев в большинстве случаев время открытия соединения превышает . что открытие занимает гораздо больше времени. Следовательно, чтобы сэкономить ресурсы сервера, соединение должно быть закрыто как можно больше, чтобы освободить ресурсы, занятые соединением. Этот метод закрытия соединения набора записей без закрытия набора записей называется отключенным набором записей. сам набор записей называется несвязным набором записей.
Ниже мы будем использовать пример, чтобы проиллюстрировать использование этой технологии (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={Microsoft Access Driver (
*
.mdb
)
}
;
объект набора записей
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = "ВЫБРАТЬ идентификатор оператора, название компании, телефон ОТ оператора связи"
objRS.Open strQ , Cnn, , , adCmdText
Set objRS.ActiveConnection = Nothing 'Отключить набор записей
Cnn.Close 'Закрыть соединение
Set Cnn = Nothing
Response.Write "<HTML><BODY>"
'Использовать отключенный набор записей
Do While (NotobjRS .EOF )
strOut = objRS("Идентификатор грузоотправителя") & ", " & 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 = "Название компании = 'Ву Фэн'"
Если objRS.EOF Тогда
objRS.AddNew
objRS("Название компании") = "Ву Фэн"
objRS("Телефон") = "571-7227298"
objRS .Update
Response.Write "Если запись, соответствующая условию, не существует, добавьте ее. <BR>"
Else
objRS("Telephone") = "571-7227071"
Response.Write "Если запись, соответствующая условию, существует , затем Обновить. <BR>"
objRS.Update
End If
Set objRS.ActiveConnection = Nothing
Cnn.close
Set Cnn = Nothing
objRS.Close
Set objRS = Nothing
Response.Write "</BODY></HTML>"
%>