Esse artigo faz parte da revista Clube Delphi edição 18. Clique aqui para ler todos os artigos desta edição

 

Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

BANCO DE DADOS NO KYLIX

 

Nada mais justo do que dar continuidade ao assunto Kylix tratando do acesso a dados, já que é  indicustível o fato de a grande maioria dos sistemas comerciais acessarem algum tipo de banco de dados. Até porque, muitos desenvolvedores irão ter seu primeiro contato com o Kylix com algum projeto de prazo já definido, e muitas vezes, já apertado. Mesmo quem não tem nenhum projeto marcado, provavelmente irá se interessar em conectar pelo menos uma tabela no Linux, já que a melhor forma de dominar uma ferramenta de desenvolvimento ainda é praticando, vivenciando os bugs e aprendendo com as dificuldades.

Quando falamos em desenvolvimento com banco de dados no Kylix, podemos visualizar dois cenários: o primeiro, que certamente deverá surgir na mente de grande parte dos programadores, é a conversão de aplicativos já criados com o Delphi para Windows - o segundo, a criação de novos aplicativos. Nesta primeira parte iremos abordar a criação de um aplicativo a partir do zero – um cadastro de clientes.

 

CRIANDO NOVOS APLICATIVOS

 

Como já foi dito na edição anterior, muito foi mudado no que se refere ao acesso a dados com o Kylix. O motivo foi a substituição da camada de acesso - em vez da BDE, temos a DBExpress. Ao contrário do que a Microsoft costuma fazer, a mudança não foi apenas no nome. A DBExpress realmente se comporta de forma diferente. Objetivamente, podemos afirmar que a principal diferença é a performance, já que a DBExpress é consideravelmente mais rápida. É interessante observar que este benefício não veio de graça - ou seja, a BDE não é mais lenta à toa. A DBExpress é mais rápida porque é muito mais simples, pois realiza menos tarefas do que seu antecessor. Relembrando, podemos destacar duas operações não realizadas pela DBExpress:

 

1) Ela trabalha apenas com cursores unidirecionais;

 

2) Não se conecta a banco de dados Desktop (Paradox, DBase);

 

O primeiro item é menos traumático para o desenvolvedor. Houve apenas uma mudança na filosofia: A BDE se encarregava de gerenciar datasets atualizáveis e escroláveis, mais conhecidos como live result sets. A aplicação já recebia o pacote pronto para usar. A DBExpress não faz isso e a aplicação se torna a responsável pela criação de live result sets. Para o desenvolvedor, isso modifica apenas a forma de conexão aos objetos, mas não representa um grande esforço de aprendizado. O segundo item dará mais trabalho para alguns programadores, pois quem nunca desenvolveu em ambiente Cliente-Servidor, certamente deverá se adaptar a essa nova realidade.

Entretanto, para aplicações com Paradox ou DBASE que utilizem apenas uma máquina (sem conexão de rede), há ainda um recurso muito interessante.  O ClientDataSet, que já está disponível no Delphi, permite trabalhar banco de dados locais em formato XML ou binário. Este recurso, conhecido como MyBase no Kylix,  é explorado com mais detalhes no final deste artigo.

 

 

Primeiro Passo – Criando o Banco de Dados

 

No desenvolvimento de nossa aplicação, o primeiro passo será escolher o banco de dados a ser utilizado. Vale notar as conexões disponíveis em cada versão da ferramenta:

 

Server -> Oracle, DB2, Interbase e MySQL – MyBase

 

Desktop -> Interbase e MySQL – MyBase

 

Neste momento, iremos utilizar o Interbase. Para instalar e executar o Interbase, confira o artigo publicado na edição anterior “Instalando e configurando o Interbase no Linux”.

 

Nota: Certique-se de instalar o interbase logado como root (super-usuário). Contudo, o Interbase Server poderá ser startado mesmo quando o sistema estiver logado como usuário, o que é altamente recomendável.

 

A nossa aplicação de exemplo será um pequeno controle de clientes, com apenas duas tabelas, conforme mostrado abaixo:

 

CLIENTES

CODIGO INTEGER

NOME VARCHAR(80),

 ENDERECO VARCHAR(50),

 CIDADE VARCHAR(30),

 BAIRRO VARCHAR(30),

 CEP CHAR(8),

 NASCIMENTO DATE,

 

 

TELEFONES

CODCLIENTE INTEGER

  ...

Quer ler esse conteúdo completo? Tenha acesso completo