Visual Basic 6 - Usando SQL com ADO


Quer três motivos para usar SQL :

  1. É simples
  2. É rápido
  3. É fácil Manter

Vamos a um roteiro básico sobre como utilizar as principais instruções SQL com ADO. Iremos publicar quatro dicas assim definidas:

  1. Selecionando registros
  2. Alterando registros
  3. Excluindo Registros
  4. Criando cópia de uma tabela

Em todas elas vamos usar como exemplo o banco de dados Biblio.mdb. Agora ao trabalho...

Selecionando registros com SQL e ADO

1-) A primeira coisa a fazer é fazer a referência a ADO no seu projeto. Faça isto no menu Project|References... e selecione : Microsoft Activex Data Objects 2.x Library

2-) Usando SQL para selecionar registros - A instrução SQL para selecionar registros é a instrução SELECT. Vamos então mostrar como selecionar registros da tabela Authors do banco de dados Biblio.mdb.

Como estamos usando ADO você deve tomar cuidado quando usar o operador LIKE para selecionar registros. Veja o que mudou :

Sem ADO      Com ADO
* %
? _

Vamos mostrar como selecionar todos os autores que comecem com a letra inicial do nome. O usuário poderá informar qual letra deseja para selecionar os registros. Os registros serão exibidos em um listbox.

1- No formulário padrão insira um botão de comando ( command1 ) uma caixa de texto ( text1 ) e um controle Listbox (list1) . O layout deve ser igual a figura abaixo:

 

O projeto em tempo de desenho   O projeto executado usando como critério a letra inicial V

2- Primeiro vamos fazer a validação da entrada do usuário , de forma que se o usuário informar um valor numérico será exibido um aviso informando que a entrada é inválida. Vamos usar o evento validate do controle TextBox ( somente o vb 6 possui este evento )

Private Sub Text1_Validate(Cancel As Boolean)
If Not IsNumeric(Text1.Text) Then
 sql = "SELECT * FROM Authors WHERE Author Like '" & Text1.Text & "%'"
Else
 MsgBox "Informe um valor Caractere. Ex: A, B, D... ", vbInformation, "Selecionando por Letra"
 Text1.Text = ""
 Exit Sub
End If
End Sub

Observe a instrução SQL usando a instrução LIKE com o operador % que funciona como curinga ( equivalente ao * na DAO ) e note também que o valor informado(text1.text) deve estar entre aspas simples ( ' ).

3-) Agora vamos ao código do evento click do botão de comando.

Private Sub Command1_Click()
Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset

If Text1.Text = "" Then
  MsgBox "Informe um critério para seleção !", vbInformation
  Exit Sub
End If

con.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=c:\teste\biblio.mdb"
rst.Open sql, con

List1.Clear
While Not rst.EOF
  List1.AddItem rst!author
  rst.MoveNext
Wend

con.Close
Set rst = Nothing
Set con = Nothing

End Sub

- Primeiro checamos se foi informado um critério para seleção : ( If Text1.Text = "" Then saimos...)

- A seguir abrimos o banco de dados usando o provedor Jet 4.0

- Depois abrimos o recordset com a instrução SQL montada com o critério informado

- Finalmente exibimos os valores no Listbox ( List1 )

Ah ! ia esquecendo devemos declarar a variável SQL como string na seção general declarations do formulário para que ela seja visível em todo o projeto : Dim sql As String

Aguarde a próxima dica para incluir registros usando SQL e ADO.

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 ?

     Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti