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

'">       Saiba como funciona o modelo de execução do ASP.NET – é importantíssimo lembrar que o ASP.NET (e aplicações Web como um todo) são stateless: cada requisição é processada como se fosse a primeira. Além disso, o ASP.NET cria e recria o formulário no servidor para cada requisição, o que é bem diferente do modelo “TForm-based”. É claro, temos alguns recursos para tratar sessão, cache, ViewState etc.

Começaremos então nosso exemplo, partindo pela conexão com o banco de dados.

 

Escolhendo o provider para ADO.NET

Temos somente uma opção para acessar o Firebird a partir de aplicações construídas para o .NET Framework: o ADO.NET. Sabendo disso, o próximo passo é escolher um Provider para ADO.NET que permita o melhor acesso ao banco de dados.

O .NET Framework 1.1 já é distribuído com quatro Providers nativos para ADO.NET:

SQL Provider - para acesso ao SQL Server;

Oracle Provider - para acesso ao Oracle;

OleDB Provider - para acesso a fontes de dados que possuam um driver OleDB;

ODBC Provider - para acesso a fontes de dados que possuam um driver ODBC;

Para acessar o Firebird, poderíamos usar qualquer um dos dois últimos Providers (ODBC ou OLEDB). No entanto, seria necessário instalar uma camada extra (um driver OLEDB ou ODBC), o que comprometeria o tempo de resposta, que é crítico em soluções Web.

Temos ainda mais duas opções:

BDP - Borland Data Provider - um Provider para ADO.NET construído pela Borland, distribuído com o Delphi.

Firebird Data Provider Provider para ADO.NET específico para o Firebird, desenvolvido e distribuído no mesmo site do banco de dados.

Se você desejar usar o BDP, deverá instalar um driver extra para o BDP, já que o Delphi suporta somente o acesso nativo ao InterBase, que como sabemos não é totalmente compatível com o Firebird. Nesse caso, optaremos pelo Firebird Data Provider, mais otimizado e específico para acessar o Firebird.

 

Download e instalação do Firebird Data Provider

Acesse o endereço www.firebirdsql.com, clique no link Download e a seguir em Firebird .NET Data Provider. Baixe e instale a última versão do Data Provider for .NET Framework 1.1, bastando seguir os passos no assistente que será iniciado.

 

Nota: Neste artigo usaremos versão 1.7 do Provider, versão mais recente disponível até o fechamento desta edição.

 

Após a instalação, no Delphi 2005 clique no menu Component|Installed .NET Components. Digite “Firebird Data Provider” na opção Category, clique no botão Select an Assembly e escolha o arquivo FirebirdSql.Data.Firebird.dll, localizado no diretório de instalação do Provider, por padrão em C:\Arquivos de programas\FirebirdNETProvider(versão). Clique em Ok e observe que os novos componentes para acesso ao Firebird estão agora disponíveis na IDE (Figura 1).

 

Figura 1. Componentes do Firebird Data Provider instalados na IDE do Delphi 2005

 

Visão geral dos componentes do Firebird Data Provider

A seguir conheceremos os componentes do Firebird Data Provider. Todos serão usados na prática durante o exemplo deste artigo, portando é importante conhecer desde já a função de cada um.

 fbConnection – Sua função é estabelecer uma conexão com o BD.

Principais Propriedades:

- ConnectionString: contém as informações necessárias para conexão com o BD;

Principais Métodos:

- Open: Conecta ao banco;

- Close: Fecha a conexão.

 

 fbCommand - Executa comandos SQL ou Stored Procedures.

Principais Propriedades:

- CommandType: permite especificar o tipo de comando, se é uma instrução SQL (Text), uma tabela (TableDirect) ou uma Stored Procedure (StoredProcedure);

- CommandText: especifica a instrução SQL que será executada, o nome da tabela ou  Stored Procedure a ser acessada no banco (de acordo com o que foi escolhido na propriedade CommandType);

- Connection: a conexão que será usada pelo fbCommand.

Principais Métodos:

- ExecuteReader: usado para execução de SQLs ou Stored Procedures que retornam um cursor (por exemplo, comandos select). O retorno dessa função é um fbDataReader, objeto usado para fazer leitura unidirecional de dados;

- ExecuteNonQuery: usado para executar SQLs ou Stored Procedures que não retornam um cursor (por exemplo insert). O retorno dessa função é um integer, indicando o número de registros afetados;

- ExecuteScalar: retorna somente a primeira coluna do primeiro registro da consulta. Ideal e otimizado para consultas como Select Count, Select Max etc., já que para a leitura não é necessária a alocação de um fbDataReader, apenas um System.Object.

 

 fbDataAdapter

Esse componente abstrai quatro fbCommands em uma única estrutura, através das propriedades SelectCommand, DeleteCommand, UpdateCommand e InsertCommand, todas do tipo fbCommand.

Principais Propriedades:

- SelectCommand: comando utilizado para obter os dados, que normalmente serão armazenados em um DataSet;

- ...

Quer ler esse conteúdo completo? Tenha acesso completo