|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Fazendo uma cópia de um Recordset ADO
|
|
|
|
Postada em 24/8/2003 por Ð@®l@n
Vamos mostrar como fazer uma cópia de um recordset ADO usando código. A dica é salvar os registros do recordset no formato XML e então abrir um segundo recordset usando o arquivo gerado.
Vamos usar uma conexão com o SQL Server 2000 e abrir a tabela Authors do banco de dados Pubs. A seguir vamos filtrar alguns autores, usando um critério, para em seguida fazer a cópia deste recordset gerado usando ADO Stream . Depois é só abrir um novo recordset e abrir o arquivo gerado.
Private Sub Command1_Click() Dim oConn As ADODB.Connection Dim oRs As ADODB.Recordset Dim oStm As ADODB.Stream Dim oRs2 As ADODB.Recordset
' Cria e abre uma nova conexão Set oConn = New ADODB.Connection oConn.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;User ID=sa;Password=;"
' Cria e abre um novo recordset baseado na tabela Authors do banco de dados Pubs Set oRs = New ADODB.Recordset oRs.CursorLocation = adUseClient oRs.Open "Select * From authors", oConn, adOpenStatic, adLockBatchOptimistic, adCmdText Label5.Caption = oRs.RecordCount
' Filtra e exibe somente os autores com o criterio - state = 'CA' oRs.Filter = "state = 'CA'" Label6.Caption = oRs.RecordCount
' Salva os registros filtrados em um ADO Stream Set oStm = New ADODB.Stream oStm.Open oRs.Save oStm, adPersistXML
' Cria um novo Recordset baseado no recordset inicial(via Stream) Set oRs2 = New ADODB.Recordset oRs2.Open oStm Label1.Caption = oRs2.RecordCount End Sub
fonte:www.macoratti.net
|
|
|
|
|