Esse artigo faz parte da revista Clube Delphi edição 22. 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. 

 

 

dbExpress

Acesso a dados cross-platform


O dbExpress é uma arquitetura de acesso a dados muito poderosa que foi introduzida no Delphi 6 e no Kylix. O dbExpress com certeza veio para ficar. Promete ser uma revolução no que diz respeito à conectividade a bancos de dados SQL. Entre os principais recursos da nova arquitetura estão: dispensar o uso do BDE para o acesso a dados e fazer um acesso muito mais rápido e leve. A configuração, a instalação e a distribuição são também muito mais fáceis.

 

Arquiteturas de acesso a dados

 

         No Delphi 6 possuímos agora quatro grandes bibliotecas de acesso a dados, descritas a seguir:

 

O BDE, Borland Database Engine, é a biblioteca mais comum de acesso a dados usada no Delphi (agora todos os componentes de acesso estão na nova guia BDE). O BDE oferece acesso nativo aos principais bancos de dados, como Oracle, DB2, Interbase, SQL Server, Access e outros.

 

O ADO é uma alternativa ao uso do BDE. A tecnologia ADO é projetada pela Microsoft e utiliza o mecanismo chamado OleDBProvider, baseando-se na tecnologia COM.

 

O IBX, Interbase Express, é um conjunto de componentes que utiliza acesso nativo ao banco de dados Interbase, dispensando também o uso do BDE.

 

O dbExpress será o assunto tratado nesse artigo.

 

Componentes dbExpress

 

         Os componentes da guia dbExpress (Figura 1) possuem os mesmos ancestrais dos componentes baseados no BDE. Isso significa que muita coisa será semelhante ao migrar do BDE para o dbExpress, graças aos recursos de abstração e polimorfismo, principalmente das classes TDataset, TField e TCustomConnection. Essas classes formam a base para os vários componentes de acesso a dados, de campos e de conexão a bancos de dados disponíveis no Delphi.

 

Figura 1. Componentes dbExpress

 

         Para cada banco de dados que vamos acessar, o dbExpress fornece um driver específico que deve ser distribuído juntamente com a aplicação. Todos os Datasets usados no dbExpress são descendentes de TCustomSQLDataset (veja a Figura 2). Todas as classes do dbExpress estão declaradas na unit SqlExpr.pas.

 

Figura 2. Hierarquia de classes no dbExpress

Veja a seguir uma descrição de cada componente da paleta dbExpress (as notas indicadas com * representam o componente equivalente na arquitetura BDE).

 

 TSQLConnection

 

Hierarquia: TSQLConnection - TCustomConnection - TComponent - TPersistent - TObject

Função: Conectar ao servidor de dados SQL.

* Substitui o TDatabase do BDE.

 TSQLDataset

 

Hierarquia: TSQLDataset - TCustomSQLDataset - TDataset - TComponent - TPersistent - TObject

Função: Obter dados de um servidor SQL usando cursores unidirecionais. Também pode executar uma procedure no servidor. Pode atuar tanto como uma Query, uma Table ou uma StoredProc.

* Substitui os componentes TQuery, TTable ou TStoredProc do BDE.

 

 TSQLQuery

 

Hierarquia: TSQLQuery - TCustomSQLDataset - TDataset - TComponent - TPersistent - TObject

Função: Fornece uma maneira de executar um comando SQL usando uma conexão dbExpress.

* Substitui a TQuery do BDE.

 

 TSQLStoredProc

 

Hierarquia: TSQLStoredProc - TCustomSQLDataset - TDataset - TComponent - TPersistent - TObject

Função: Usado para executar stored procedures em servidores SQL, através de uma conexão dbExpress.

* Substitui o TStoredProc do BDE.

 

 TSQLTable

 

Hierarquia: TSQLTable - TCustomSQLDataset - TDataset - TComponent - TPersistent - TObject

Função: Usado para representar uma tabela acessada através de uma conexão dbExpress.

* Substitui o componente TTable do BDE.

 

 TSQLMonitor

 

Hierarquia: TSQLMonitor - TComponent - TPersistent - TObject

Função: Utilize-o para monitorar as trocas de mensagens e instruções SQL feitas entre uma aplicação cliente e um servidor SQL.

*  Substitui o utilitário SQLMonitor baseado no BDE.

 

 TSQLClientDataset

 

Hierarquia: TSQLClientDataset - TCustomCachedDataset - TCustomClientDataset - TDataset - TComponent - TPersistent - TObject

Função: Utilize um SQLClientDataset para fazer uma consulta a um banco de dados usando uma conexão dbExpress, armazenando os dados em um buffer de memória interno. Esse componente, na verdade, é uma agregação de três componentes: TDatasetProvider, TSQLDataset e TClientDataset.

* Equivale ao componente TBDEClientDataset da arquitetura BDE.

...

Quer ler esse conteúdo completo? Tenha acesso completo