RECORDSET DESCONECTADO
Pessoal,
Pretendo implementar em meu sistema um class pra o tratamento do banco de dados, onde eu irei abrir o banco, carregar um recordset e fechar o banco, logo em seguida, pois pretendo deixar o banco o menos tempo aberto possÃvel, evitando assim qualquer problema com quedas de energia e tal.
Agora... quando que carrego o Recordset e logo em seguida eu fecho o banco, ele perde a definição do objecto recordset também, pois acredito que sejam dependêntes e tal.
Alguém sabe como fazer para permitir 'navegar' por meu recordset (movenext, EOF e BOF, AbsolutePosition, etc...) estando ele desconectado?
Obrigado e até mais,
Milton.
Pretendo implementar em meu sistema um class pra o tratamento do banco de dados, onde eu irei abrir o banco, carregar um recordset e fechar o banco, logo em seguida, pois pretendo deixar o banco o menos tempo aberto possÃvel, evitando assim qualquer problema com quedas de energia e tal.
Agora... quando que carrego o Recordset e logo em seguida eu fecho o banco, ele perde a definição do objecto recordset também, pois acredito que sejam dependêntes e tal.
Alguém sabe como fazer para permitir 'navegar' por meu recordset (movenext, EOF e BOF, AbsolutePosition, etc...) estando ele desconectado?
Obrigado e até mais,
Milton.
dim RS as ADODB.Recordset
set rs = PesquisarDados("Select * from Tabela;")
'Retorna recordset Desconectado
Public Function PesquisarDados(ByVal SQLCommand As String, Optional Desconectar As Boolean = True) As ADODB.Recordset
Static Conn As ADODB.Connection
Dim RS As ADODB.Recordset
On Error GoTo TrataErro
'se precisar criar nova conexao, cria
If Conn Is Nothing Then
Set Conn = New ADODB.Connection
Conn.CursorLocation = adUseClient
Conn.Open m_sConnectionString
End If
'cria nova instancia
Set RS = New ADODB.Recordset
'abre para trabalhar disconectado
RS.Open SQLCommand, Conn, adOpenForwardOnly, adLockBatchOptimistic
'desconecta
Set RS.ActiveConnection = Nothing
'pega referencia
Set PesquisarDados = RS
TrataErro:
'libera referencia
Set RS = Nothing
If Desconectar Then
'fecha conn
If Not Conn Is Nothing Then
Conn.Close
Set Conn = Nothing
End If
End If
End Function
set rs = PesquisarDados("Select * from Tabela;")
'Retorna recordset Desconectado
Public Function PesquisarDados(ByVal SQLCommand As String, Optional Desconectar As Boolean = True) As ADODB.Recordset
Static Conn As ADODB.Connection
Dim RS As ADODB.Recordset
On Error GoTo TrataErro
'se precisar criar nova conexao, cria
If Conn Is Nothing Then
Set Conn = New ADODB.Connection
Conn.CursorLocation = adUseClient
Conn.Open m_sConnectionString
End If
'cria nova instancia
Set RS = New ADODB.Recordset
'abre para trabalhar disconectado
RS.Open SQLCommand, Conn, adOpenForwardOnly, adLockBatchOptimistic
'desconecta
Set RS.ActiveConnection = Nothing
'pega referencia
Set PesquisarDados = RS
TrataErro:
'libera referencia
Set RS = Nothing
If Desconectar Then
'fecha conn
If Not Conn Is Nothing Then
Conn.Close
Set Conn = Nothing
End If
End If
End Function
se este codigo resolver seu problema, por favor encerre este topico
RS.Open SQLCommand, Conn, adOpenForwardOnly, adLockBatchOptimistic
mas está no meio do código isso
mas está no meio do código isso
Tópico encerrado , respostas não são mais permitidas