Quando usamos o componente ADO integrado do ASP para programação de banco de dados, geralmente abrimos uma conexão no início do script e a fechamos no final do script. Porém, para scripts maiores, na maioria dos casos o tempo de abertura da conexão é maior que. isso. Demora muito mais para abrir. Portanto, para economizar recursos do servidor, a conexão deve ser fechada o máximo possível para liberar os recursos ocupados pela conexão. Essa técnica de fechar a conexão do conjunto de registros sem fechar o conjunto de registros é chamada de conjunto de registros desconectado. o próprio conjunto de registros é chamado de conjunto de registros desconectado.
Abaixo usaremos um exemplo para ilustrar o uso desta tecnologia (NorthWind.mdb é um banco de dados que vem com o Microsoft Access97, e o arquivo adovbs.inc pode ser encontrado em C:Program FilesCommon FilesSystemADO):
< % @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;"
'Estabelecer uma conexão
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open StrC
'Criar um objeto Recordset
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = "SELECIONE ID da operadora, nome da empresa, telefone DA operadora"
objRS.Open strQ , Cnn, , , adCmdText
Set objRS.ActiveConnection = Nothing 'Desconecta o conjunto de registros
Cnn.Close 'Fecha a conexão
Set Cnn = Nothing
Response.Write "<HTML><BODY>"
'Use o conjunto de registros desconectados
Do While (NotobjRS .EOF )
strOut = objRS("ID do Remetente") & ", " & objRS("Nome da Empresa") & ", " & objRS("Telefone")
Response.Write Server.HTMLEncode(strOut) & "<BR >"
objRS. MoveNext
Loop
Response.Write "<BR>Prepare para adicionar ou inserir registros: "
'Se precisar atualizar o banco de dados, restabeleça a conexão
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open strC
Set objRS .ActiveConnection = Cnn
objRS.Filter = "Nome da empresa = 'Wu Feng'"
Se objRS.EOF Então
objRS.AddNew
objRS("Nome da empresa") = "Wu Feng"
objRS("Telefone") = "571-7227298"
objRS .Update
Response.Write "Se o registro que atende a condição não existe, então adicione-o. <BR>"
Else
objRS("Telefone") = "571-7227071"
Response.Write "Se o registro que atende a condição existe , então Atualizar <BR>"
objRS.Update
End If
Set objRS.ActiveConnection = Nothing
Cnn.close
Set Cnn = Nothing
objRS.Close
Set objRS = Nothing
Response.Write "</BODY></HTML>"
%>