You are on page 1of 12

Exercício 9 – Conexão com BD (criando a interface)

O uso de banco de dados oferece várias vantagens e facilidades para manipular


informações. Geralmente, uma aplicação que acessa um banco de dados é elaborada em
duas etapas bem distintas. Uma etapa refere-se à criação do banco de dados, e isso
significa criar tabelas. Uma outra etapa refere-se à elaboração da aplicação que irá
utilizar o BD criado.
Para criar a primeira aplicação com acesso a banco de dados siga as instruções
apresentadas nos itens seguintes.

A. Criando a interface

1. Instancie um novo formulário na sua aplicação e salve a Unit como


UCadUsuario, mantendo o mesmo nome do projeto;
2. Altere as propriedades name e caption para “FCadUsuario” e “Cadastro de
Usuários”, respectivamente;
3. Crie a interface ilustrada na Figura. Utilize os componentes DBEdit,
DBNavigator (Aba DataControls), BitBtn, e Label (Standard) da palheta de
componentes.
4. Formate adequadamente.

Interface para cadastro de usuários do sistema


8.3. TEORIA ACESSO A BD COM ZEUS.

8.3.1. Acesso Nativo

Acesso nativo consiste na conexão feita diretamente entre a aplicação e o banco


de dados sem uso de nenhuma camada de software (ou seja, tipo de driver) auxiliar
como conexões ODBC. Isto torna a conexão entre a aplicação e o banco de dados
muito mais rápida e, conseqüentemente, torna o sistema também muito mais leve.
O ZEOS é um componente OpenSource e gratuito que permite realizar a
conexão nativa da interface desenvolvida em Delphi (front-end) com os bancos de
dados MySQL, Firebird e PostgreSQL. Seu download pode ser realizado através da
URL: www.zeoslib.net.

8.3.2. DataModule

DataModule é um recurso do Delphi que permite centralizar os componentes de


conexão do banco de dados. Isto evita duplicação destes componentes em vários
formulários, possibilitando que toda a aplicação os utilize. Dessa forma, as tabelas ou as
queries não precisam ser recriadas em cada formulário.

8.3. IMPLEMENTAÇÃO

8.3.1. EXERCÍCIO 28 – Instalação do componente ZEOS

A instalação do ZEOS é feita em duas fases, a saber: obtenção do componente


ZEOS e realização da instalação deste componente no Delphi. Descompacte o arquivo
baixado da Internet em uma pasta com o nome C:\ZEOS, que nunca deve se apagada.
Em seguida, copie os arquivos DLL encontrados na pasta
C:\Zeos\Lib\PostgreSQL para C:\WINDOWS\System32, são DLLs de conexão do
banco de dados, exatamente as mesmas que vem junto ao banco de dados.
OBS: Esta etapa já foi realizada nos computadores do lab, se estiver usando o
seu computador devera realiza-la.
Para efetuar a instalação do ZEOS no Delphi basta seguir as instruções abaixo:

1. Abra o Delphi, clique no menu Tools\Enviroment Options\ e selecione a


guia Library.

Figura - Caixa de diálogo Environment Options

2. Clique no botão para abrir a janela de adição. Você deve visualizar a


janela mostrada seguir.

Figura – Caixa de diálogo Directories

3. Clique no botão para encontrar o diretório a adicionar. Selecione


C:\Zeos\src\component e clique em OK, como ilustrado pela figura a
seguir:
Figura – Caixa de diálogo para procurar pastas

4. Assim, voltará à tela anterior e, então, clique no botão “ADD”;


5. Repita o mesmo procedimento adicionando todos os diretórios contidos
dentro da pasta src, ou seja:

C:\Zeos\src\component
C:\Zeos\src\core
C:\Zeos\src\dbc
C:\Zeos\src\parsesql
C:\Zeos\src\plain

6. Após adicionar todas as pastas, pressione o botão OK em todas as janelas;


7. A seguir, clique em Menu File\Open Project e selecione a pasta do Zeos
(C:\ZEOS);
8. Abra a pasta packages e a pasta referente ao Delphi7, como ilustra a Figura
abaixo.
Figura – Caixa de diálogo do Open Project e seleção da pasta Delphi7

9. Na pasta Delphi7 há a package ZeosDbo. Selecione-a e pressione o botão


“Abrir”;

Figura 24 – Caixa de diálogo do Open Project e seleção do arquivo ZeosDbo

10. Após abrir a package, será aberto o Project Manager do Delphi contendo
arquivos .bpl como mostra a Figura abaixo.
Figura – Caixa de diálogo do Project Manager

11. Para não aparecer uma mensagem informando que o pacote não pode ser
instalado por não se tratar de um pacote de “DesignTime”, proceda da
seguinte forma:
a) Clique no menu Project opção Options e selecione a guia
Description;
b) No grupo “Usage options” selecione a opção “Designtime and
runtime” e clique no botão “OK”, conforme mostra a figura a seguir;

Figura – Caixa de diálogo do Project Options para alateração do grupo Usage options
12. Seguindo a ordem em que aparecem, proceda da seguinte forma:

a) Clique com o botão esquerdo sobre o ZCore.bpl e depois no botão


Active.
b) Clique com o botão direito sobre o Zcore.bpl e selecione a opção
Compile.Em seguida selecione a opção Install.

13. Se tudo correr bem, será exibida a mensagem apresentada na figura abaixo.

Figura – Caixa de diálogo informando sucesso na instalação


14. Repita o procedimento para todas as outras BPLs, obedecendo a ordem de
apresentação delas. Para o último BPL será exibida uma mensagem
diferente, onde são mostrados os nomes de todos os componentes instalados
e no final informação da instalação realizada com sucesso;
15. Para finalizar feche o Delphi, respondendo não para a pergunta se deseja
salvar as packages do Zeos instaladas;
16. Reabra o Delphi e encontrará uma guia chamada Zeos Access incluída no
final da paleta de Componentes.

______________________________________________________________________

Acesso a dados usando POSTGRES e ZEOS (ZTable)

Abra o seu projeto e a interface de cadastro de usuário. Siga as instruções


apresentadas nos itens seguintes.

A. Criando e/ou Alterando a interface

1. No menu File opção New escolha DataModule;


2. No menu Project opção Options altere a ordem de criação dos formulários. O
DataModule deve ser criado primeiro. Para isso, basta clicar sobre ele arrastar para o
topo da lista de formulários conforme figura abaixo;

Figura – Project Options


3. Coloque os objetos ZTable e ZConnection no DataModule (Aba ZeosAccess da
palheta de componentes) e o componente DataSource (aba Data Access da palheta de
componentes);

4. Salve a unit da aplicação como UCadUsuarios.pas e o formulário DataModule


como UDataModule na sua pasta de trabalho.
B. Criando o Banco de dados

1. Abra o pgAdminIII (registre um servidor se necessário) e crie um banco


de dados chamado BD_EXEMPLO.

2. No BD_EXEMPLO crie uma tabela chamada tabsuarios (use o script


abaixo).
CREATE TABLE tabusuarios
(
Codigo numeric (5) not null,
Usuario varchar (8) not null,
NivelAcess numeric (2) not null,
o
Senha varchar (8) not null,
Nome varchar (40) not null,
Telefone varchar (20) not null,
Endereco varchar (40) not null,
constraint tabusuarios_codigo primary key (Codigo)
);

3. Digite alguns registros (tuplas) para poder efetuar testes.

C. Implementando eventos

1. No evento OnCreate do formulário DataModule2 inserir as seguintes linhas de


código:

ZConnection1.Database :='BD_EXEMPLO'; // colocar o nome do BD


ZConnection1.HostName:= 'localhost'; // se BD está na máquina colocar
localhost
ZConnection1.Password :='senhausadanopostgres'; // senha usuário no BD
ZConnection1.Port := 5432; // indicar a porta
ZConnection1.Protocol := 'postgresql'; // indicar o protocolo
ZConnection1.ReadOnly := false; //
ZConnection1.User :='postgres'; //usuário definido no BD
ZConnection1.Connected:= true; //
// Configuração para conexao com a tabela criada
ZTable1.Connection := ZConnection1;
ZTable1.ReadOnly := false;
ZTable1.TableName :='tabusuarios'; //nome da tabela criada no PGAdmin
// O objeto ponte é usado como auxiliar na manipulação e/ou visualização dos
dados do BD
DataSource1.DataSet := Ztable1;
ZTable1.Active := true; //ativa a tabela

2. No evento onCreate do formulário de cadastro de Usuarios digitar as seguintes


linhas de código.

// Conexao do objeto de manipulação de dados

DBNavigator1.DataSource := Datamodule2.DataSource1;

// Associando dados do banco de dados ao formulario


//conexao do objeto de visualização

DBEdit1.DataSource:=Datamodule2.DataSource1;
DBEdit1.DataField:='Codigo';
DBEdit2.DataSource:=Datamodule2.DataSource1;
DBEdit2.DataField:='Usuario';
DBEdit3.DataSource:=Datamodule2.DataSource1;
DBEdit3.DataField:='NivelAcesso';
DBEdit4.DataSource:=Datamodule2.DataSource1;
DBEdit4.DataField:='Senha';
DBEdit5.DataSource:=Datamodule2.DataSource1;
DBEdit5.DataField:='Nome';
DBEdit6.DataSource:=Datamodule2.DataSource1;
DBEdit6.DataField:='Telefone';
DBEdit7.DataSource:=Datamodule2.DataSource1;
DBEdit7.DataField:='Endereco';
3. Crie uma entrada no menu da aplicação.

Figura – Entrada no menu para cadastro de usuários.

4. No evento onClick da entrada digite:

FCadUsuario.show; //obs: não esqueça de declarar a unit do form usado.

5. Muitos erros podem aparecer na compilação depois de executadas estas etapas,


as mensagens dão pistas que devem ser observadas com cuidado, os erros mais
comuns estão relacionados a erros de nomeclatura nos códigos, falta de
declaração de units ou forms, erros na tabela do banco de dados , portanto preste
atenção já que cada usuário acaba gerando nomes diferentes e durante os
processos de copiar e colar os erros irão aparecer com certeza.
Os códigos copiados deverão ser alterados conforme as necessidades se
apresentem.

6. Se você conseguiu chegar ate aqui e o programa compilou sem erros parabéns.

7. Teste o funcionamento da aplicação inserindo alguns dados na sua tabela, alem


de consultar dados adicionados direto do PGAdimin.