Professional Documents
Culture Documents
APLICAÇÕES EM
DELPHI COM BANCO DE
DADOS
Autor:
Márcio Viníssius Fernandes Furtado.
E-mail: marciofurtado@uol.com.br
2004
2
SUMÁRIO
1 INTRODUÇÃO .................................................................................................................................................. 1
LISTA DE FIGURAS
1. Relacional;
3
2. Hierárquico;
3. Redes;
4. Orientado a objetos.
Uma relação, tida aqui como uma tabela de banco de dados, possuir três
propriedades, que são:
Uma aplicação Delphi, não tem acesso direto aos dados, em vez disso faz
uso de uma engine. E essa comunicação entre o aplicativo Delphi e a engine é feita
através de componentes específicos para a engine encolhida.
3.1.1 BDE
3.1.2 DBEXPRESS
Apesar de a BDE ser uma engine de dados muito poderosa (e talvez por
isso mesmo) ela é muito grande e pesada, sendo uma das maiores críticas em relação
ao Delphi. A BDE, embora muito completa e permitindo acesso a um número muito
grande de banco de dados, desde dBase e Paradox até Oracle, requer o uso de um
grande número de arquivos e dlls. A distribuição de uma aplicação simples de banco
de dados usando BDE requer a distribuição de quase 5 MB em dlls para seu
funcionamento.
3.1.3 ADO
• Por outro lado, ela não é portável para outras plataformas: caso o
desenvolvedor queira portar seu programa para Linux, terá de
trocar todos os componentes de acesso a dados.
Além disso, ela permite extrair o máximo deste banco de dados: por não
ser um interface genérica, e sim um conjunto de componentes que acessam todos os
recurso de baixo nível da API diretamente. Enquanto as outras engines têm uma
arquitetura em camadas (aplicação -> interface genérica -> driver -> API -> Banco
de dados), o Interbase Express vai diretamente à API, aumentando também a
velocidade de acesso.
Ilustração 5 - BDE
Também existe, uma outra ferramenta, para criar e alterar alias chamada
Database Explorer ou SQL Explorer. Nele além de criar e alterar alias, permite
17
também navegar pelas estruturas dos bancos de dados, alterar os dados das tabelas e
executar comandos SQL.
4.2 ALIAS
Por exemplo: suponha que está sendo desenvolvido um sistema que usa
o diretório C:\Fontes\Sist1\DB para colocar os arquivos do banco de dados do
sistema. Em vez de digitar todo momento esse diretório quando criar uma referencia
a um arquivo, pode associar o alias alSist1 para esse diretório. Mas diminuir a
digitação não é o principal benefício do alias. O principal é que depois que a
aplicação estiver pronta, certamente será instalada em outro diretório, geralmente em
outro micro. Tendo um alias, basta modificar o diretório associado para o novo
diretório e nenhuma mudança será necessária no código fonte do sistema, pois o
nome do alias não será alterado.
18
Para criar um alias, pode ser utilizado o SQL Explorer. No menu Object,
é necessário selecionar New.
Deve-se agora, nomear o alias (para Curso Delphi), com um nome mais
apropriado, para após ser acessado pelo sistema em Delphi ou outro programa
qualquer de banco de dados. Deve ser observada também a informação fornecida na
guia Definition, do lado direito do SQL Explorer. As mais importantes são: Default
19
Driver, que fornece o nome do drive para o banco de dados a ser usado pela Alias,
sendo nesse caso o Paradox; e o Path (C:\Arquivos de programas\Arquivos
comuns\Borland Shared\Data), que fornece o caminho de diretório onde se encontra
o arquivo de banco de dados que deve ser acessado toda vez que for feita referencia
a alias Curso Delphi. Após especificar o caminho é necessário ativar as novas
configurações para o BDE, executando o comando Object -> Apply.
• File/New/Table;
Em nome do arquivo, digite o nome que será dado à tabela, neste caso
paises.db (ou apenas Clientes, pois a extensão será adicionada automaticamente de
acordo com o tipo de arquivo criado).
25
Agora iremos partir para criar uma interface para acessar essa base de
dados.
26
5 CRIANDO A APLICAÇÃO
O tópico anterior, foi uma ilustração básica de como criar uma tabela
paradox e serviu perfeitamente para esse propósito. Agora que iremos construir a
interface, é interessante possuir uma base de dados populada de dados para uma
maior compreensão. Com esse intuito será utilizada um tabela, previamente
construída e populada que vem juntamente com a instalação do Delphi. Não há
obrigatoriedade, em usar tal tabela, pois a que foi criada anteriormente como
exemplo é quase igual a esta, sendo a única diferença (além de já possuir dados
como exemplo) que a nossa esta em português e a que vem no delphi esta em inglês.
Para usar a tabela populada, altere a opção Path do alias utilizando o SQL
Explorer para C:\Arquivos de programas\Arquivos comuns\Borland Shared\Data.
Esse caminho de pastas indica um conjunto de tabelas que já vem no delphi,
incluindo é claro a que iremos usar. (country.db - Ilustração 15)
27
width = 358)
28
Após isso o formulário irá parecer como o que esta na Ilustração 16.
É comum colocar uma tela com informações do sistema, tais como sobre
quem o elaborou ou informações sobre a versão. Isso é tão comum em sistemas
Windows que o Delphi tem um modelo para esse tipo de tela.
31
5.4 DATAMODULE
Feche o DataModule, pois não será usado por enquanto. (File Æ Close)
Note que o projeto ainda continua aberto, e seguiremos a trabalhar nele. Apenas foi
fechado o DataModule para não poluir a tela, deixando-a livre para a criação da
próxima etapa.
• Alinhe os botões como mostrado na Ilustração 24, isto pode ser feito
manualmente (não recomendado), ou usar a ferramenta de alinhamento de
componentes Ilustração 18.
var
FormConsulta: TFormConsulta;
implementation
uses modulo;
{$R *.dfm}
end.
Código 1 – Cláusula Uses Formulário de consulta
A princípio você deve estar pensando: “Agora vou ter que fazer tudo de
novo, deve ter alguma outra maneira”. Não é necessário desenhar todo o formulário
novamente. Podemos simplesmente criar um novo usando o que já existe como
modelo, dessa maneira:
41
6 RETOQUES FINAIS
Dê uma boa olhada nos métodos e propriedades desse objeto, podem ser
úteis para uma aplicação mais robusta.
44
Para terminar, falta agora somente atrelar o código ao botão exibir que é
mostrado no Código 6.
procedure TFormPrincipal.BitBtn1Click(Sender: TObject);
begin
FormConsulta.ShowModal;
end;
Código 6 -Código fonte para exibir o formulário Mestre
Feche o formulário por que não será mais usado para realizar
modificações. (File Æ Close).
Com isso pode-se notar que alguns dos componentes usados na aplicação
podem fazer referencia a outros objetos, ou ainda conter outros objetos dentro de si.
Como é o caso de TForm (Classe que dá origem aos objetos do tipo formulário),
TPanel (classe que dá origem aos objetos do tipo Panel), no qual ambos podem ter
outros objetos contidos.
Em vez de ser usado o método Edit do DataSet, desta vez foi executado
o Insert. Que coloca o DataSource associado ao componente DataSet para o modo
de Inserção de dados. Uma vez que o formulário Novo Registro seja aberto será
exibido com os campos vários aguardando que sejam inseridos novos dados.