Visual Basic 6 - Exportando seus dados para um arquivo texto com GetString


Vou dar agora mais uma dica de como exportar os dados de uma tabela para um arquivo texto.

Vamos usar o método GetString do objeto Recordset ADO.

O método GetString retorna um Recordset no formato de uma string. Sua sintaxe é :

Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)

A string retornada é do tipo Variant (BSTR).

Os parâmetros usados são :

- StringFormat  - Especifica que o Recordset deverá ser convertido para o seguinte formato:

Constante Descrição
adClipString Linhas (Rows) são delimitadas pelo RowDelimiter, colunas pelo ColumnDelimiter, e valores NULL por NullExpr.

NumRows   - Determina o número de linhas no recordset a converter. Se não for informado ou se for maior que o número total de linhas do recorset todas as linhas serão convertidas.

ColumnDelimiter   - Indica qual o delimitador usado entre as colunas , se não for informado o delimitador usado sera o caractere TAB.

RowDelimiter   - Indica o delimitador usado entre as linhas . Se não for informado será usado o caractere CARRIAGE RETURN. (ENTER)

NullExpr   - Expressão usada no lugar dos valores NULL. Se não for informado será usado uma string vazia.

Vamos a prática : Vamos exportar os registros da tabela Authors do banco de dados Biblio.mdb para o arquivo texto autores.dat . (Este arquivo será criado se não existir)

- Inicie um novo projeto no VB e no formulário padrão insira um botão de comando - command1 :

- Faça a referência a biblioteca ADO - Microsoft ActiveX Data Objects 2.X Library

- Na seção General Declarations vamos declarar a variável objeto - ConAuthors

Public ConAuthors As ADODB.Connection

- Vamos agora criar as funções Conecta_BD e Desconecta_BD para criar/encerrar a conexão com o banco de dados:

Public Sub Conecta_BD()
Set ConAuthors = New ADODB.Connection
With ConAuthors
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .ConnectionString = "Data Source=c:\teste\Biblio.mdb"  
  .Open
End With
End Sub
Public Sub Desconecta_BD()
  ConAuthors.Close
  Set ConAuthors = Nothing
End Sub

- No evento Load do formulário vamos invocar a função Conecta_BD para criar a conexão com banco de dados:

Private Sub Form_Load()
  Conecta_BD
End Sub

- Agora no evento Click do botão de comando - command1 - vamos inserir o código que faz que usa o método GetString :

Private Sub Command1_Click()
Dim rs As New ADODB.Recordset

On Error GoTo trata_erro

rs.Open "Select * from Authors", ConAuthors, adOpenForwardOnly, adLockReadOnly, adCmdText

Open "c:\teste\autores.dat" For Output As #1
Do Until rs.EOF
  Print #1, rs.GetString(, 100, vbTab, vbCrLf, "");
Loop
MsgBox "Arquivo texto - autores.dat - gerado com sucesso !!"
Desconecta_BD
Exit Sub

trata_erro:
MsgBox Err.Description
End Sub
Após executar o projeto , verifique o arquivo autores.dat e veja o resultado: (Estou mostrando somente uma parte do arquivo)

Obs: Um recordset com muitas linhas irá gerar strings muito grande e irá afetar o desempenho da sua aplicação.

Você pode fazer muitas variações no código. Fique a vontade...

Até a próxima... Bye...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti