10ª AULA
VISUAL BASIC – PROF. GALE
Banco de Dados
O Visual Basic disponibiliza meios de se construir aplicativos de bancos de dados de maneira
rápida. De modo geral, bancos de dados são conjuntos de tabelas, índices e relações
potencializados por algum driver de banco de dados. O VB possibilita a conexão com os seguintes
drivers:
•
•
•
•
•
Microsoft Access;
dBase III, IV e 5.0;
FoxPro 2.0, 2.5 e 3.0;
Paradox 3.x, 4.x e 5.x;
ODBC, entre outros.
Os bancos de dados do VB são potencializados pelo Jet Engine, que é o mesmo driver do
Access.
Alguns termos merecem definição:
• DBEngine: é um objeto que representa o Jet Engine da MicroSoft e contém todos os outros
objetos de bancos de dados.
• Worspace: é um objeto que define uma seção de trabalho do usuário. Quando um banco de
dados é iniciado, um Workspace default é criado, com senha “” e nome “ Admin”.
• DataBase: é o objeto banco de dados por excelência;
• TableDef: representa a estrutura de uma tabela, que pode conter vários campos (Fields) e
vários índices (Indexes);
• Field: representa um campo dentro de uma tabela.
• Index: representa um índice dentro de uma tabela.
• QueryDef: representa a estrutura de uma consulta (query) em uma tabela.
• RecordSet: representa uma tabela ou parte dela. O Recorset pode ser do tipo Table (Tabela),
Dynaset ou SnapShot (Instantâneo). Dynaset é uma estrutura mais versátil do que uma tabela,
podendo ser gerado por uma consulta ou uma declaração SQL. Snapshot é o tipo mais
restritivo de tabelas e seus dados não pode ser alterados pelo usuário.
O CONTROLE DE DADOS
A maneira mais fácil de manipular bancos de dados é por meio do Data Control, ou
Controle de Dados. Este controle, disponível desde a versão 2.0, abre um banco de dados,
conecta-se a uma tabela especificada e mostra o conteúdo dos campos em “controles ligados”.
Para usar o Controle de Dados, proceda da seguinte maneira:
a) Desenhe o Controle de Dados no formulário;
b) Na janela de propriedades, especifique a propriedade DataBaseName. Esta propriedade deve
conter um banco de dados já existente, com todo o caminho;
c) Especifique a propriedade RecordSource, que deve corresponder a uma tabela válida do banco
de dados;
d) Desenhe uma caixa de texto para cada campo da tabela;
e) Defina a propriedade DataSource de cada caixa de texto como sendo Data1 (ou o nome do
Controle de Dados).Da mesma forma, especifique a propriedade DataField de cada caixa de
texto como uma campo distinto da tabela.
Resumindo:
Banco de Dados
Tabelas
Linhas (registros)
Colunas (campos)
O Controle DATA
Databasename: (Banco
de Dados)
Recordsource: (tabela)
Recordsets (conjunto de registros): são objetos que representam coleções de registros de
uma ou mais tabelas. Recordsets são equivalentes as variáveis da programação tradicional.
Nas textbox devemos observar as seguintes propriedades:
•
•
Datasource (enxerga o Banco)
Datafield (nome do campo)
O Controle Data:
MoveFirst
MoveLast
MovePrevious
MoveNext
Ex: Data1.Recordset.movefirst
If Data1.Recordset.EOF then
Data1.Recordset.moveLast
Endif
Método Find:
FindFirst
FindLast
FindNext
FindPrevious
Ex:
Data1.Recorset.FindFirst “
“
Crie uma tabela através do Add-Ins / Visual Data Manager, contendo:
Número / Nome / Apelido / Cidade / Estado / Data_Nasc / Profissão / Estado Civil
UMA AGENDA DE ENDEREÇOS
O VB pode ser usado para criar um formulário simples do tipo agenda. Você precisará de
um banco de dados com os seguintes campos:
•
•
•
•
•
•
•
•
Nome;
Endereço;
Telefone;
FAX;
E-mail;
Cidade;
Estado;
CEP.
Este banco de dados pode ser criado em Access ou por meio do Data Manager. Denomine
este banco de dados de AGENDA.MDB. Será necessário criar apenas uma tabela dentro deste
banco de dados, a qual chamaremos de NOMES.
Formulário frmAgenda
conectar o Controle de Dados ao banco de dados e as caixas de texto ao Controle de Dados:
a) Na janela de propriedades de Data1, especifique a propriedade DataBaseName para
AGENDA.MDB, incluindo todo o caminho;
b) Especifique a propriedade RecordSource de Data1, que deve corresponder à tabela Nomes;
c) Defina a propriedade DataSource de cada caixa de texto como sendo Data1. Da mesma forma,
especifique a propriedade DataField de cada caixa de texto como o campo correspondente
Código
3
5
6
7
9
10
11
13
14
16
17
18
20
Descrição
Return without GoSub
Invalid procedure call
Overflow
Out of memory
Subscript out of range
This array is fixed or temporarily locked
Division by zero
Type mismatch
Out of string space
Expression Too Complex
Can't perform requested operation
User interrupt occurred
Resume without error
Descrição em português
Return sem GoSub
Chamada inválida de procedimento
Sobrecarga
Falta de memória
Subescrito fora do intervalo
Este array é fixo ou temporariamente travado
Divisão por zero
Tipo incorreto
Falta de espaço no string
Expressão muito complexa
Impossível realizar a operação requisitada
Interrupção do usuário
Continuar sem erro
Código
28
35
47
48
49
51
52
53
54
55
57
58
59
61
62
63
67
68
70
71
74
75
76
91
92
93
94
444
452
453
457
460
461
480
481
482
483
484
485
520
521
Descrição
Out of stack space
Sub, Function, or Property not defined
Too many DLL application clients
Error in loading DLL
Bad DLL calling convention
Internal error
Bad file name or number
File not found
Bad file mode
File already open
Device I/O error
File already exists
Bad record length
Disk full
Input past end of file
Bad record number
Too many files
Device unavailable
Permission denied
Disk not ready
Can't rename with different drive
Path/File access error
Path not found
Object variable or With block variable not
set
For loop not initialized
Invalid pattern string
Invalid use of Null
Method not applicable in this context
Invalid ordinal
Specified DLL function not found
Duplicate Key
Invalid Clipboard format
Specified format doesn't match format of
data
Can't create AutoRedraw image
Invalid picture
Printer error
Printer driver does not support specified
property
Problem getting printer information from
the system. Make sure the printer is set
up correctly
Invalid picture type
Can't empty Clipboard
Can't open Clipboard
Descrição em português
Falta de espaço na pilha
Sub, Função ou propriedade não definida
Demasiados aplicativos DLL clientes
Erro no carregamento de DLL
Má convenção de chamada de DLL
Erro interno
Número ou nome de arquivo incorreto
Arquivo não encontrado
Modo de arquivo incorreto
Arquivo jã aberto
Erro de dispositivo de entrada/saída
Arquivo já existe
Tamanho de registro incorreto
Disco cheio
Entrada depois do fim do arquivo
Número de registro incorreto
Arquivos em damasia
Dispositivo inacessível
Permissão nagada
Disco não pronto
Impossível renomear com drive diferente
Erro de acesso a caminho ou arquivo
Caminho não encontrado
Variável objeto ou bloco With não definida
Laço For não inicializado
Padrão de string inválido
Uso inválido de Null
Métod não aplicável neste contexto
Ordinal inválido
Função DLL especificada não encontrada
Chave duplicada
Formato do Clipboard inválido
Formato especificado não casa com formato do
dado
Impossível criar imagem AutoRedraw
Figura inválida
Erro de impressão
Driver de impressão não suporta a
proprieadade especificada
Problemas em conseguir informação da
impressora do sistema. Certifique-se de que a
impressora está configurada corretamente.
Tipo de figura inválida
Impossível esvaziar o Clipboard
Impossível abrir o Clipboard
Download

Aula 10