Artigo Clube Delphi 66 - Firebird na Web

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Crie passo a passo um cadastro em ASP.NET que acessa o banco Open Source.

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

imagem_pdf.jpg

Firebird na Web

Crie passo a passo um cadastro em ASP.NET que acessa o banco Open Source

 

Quem nunca se deparou com a seguinte afirmação que atire a primeira pedra: “precisamos de uma versão Web para nosso sistema”. Oferecer uma solução Web para nossos clientes deixou de ser uma opção, é quase que uma obrigação. Sem dúvida, a melhor escolha disponível atualmente para desenvolvimento Web com o Delphi é o ASP.NET. É incrível a variedade de recursos oferecidos pelo framework, que podem garantir o sucesso de nossos projetos.

Pensando nisso, trazemos neste artigo um tutorial passo a passo de como criar uma aplicação Web com ASP.NET que contemple as principais funcionalidades disponíveis em uma aplicação Desktop. Decidimos usar o Firebird, pois esse é, sem dúvida, um dos bancos mais utilizados atualmente pelos desenvolvedores Delphi. Aproveitaremos para mostrar como acessar o banco usando o seu Provider específico para ADO.NET, assunto que possui pouquíssima documentação.

Além disso, você aprenderá várias técnicas de desenvolvimento com ASP.NET e ADO.NET, através de uma aplicação prática (faremos um cadastro usando o banco Employee do Firebird).

Veremos em detalhes como usar os componentes do Firebird Data Provider para ADO.NET, o que é e para que serve o Connection Pooling, como criar pesquisas no BD usando fbDataReader, como executar instruções de atualização no BD com o fbCommand, uso do DataGrid, técnicas gerais de desenvolvimento ASP.NET, configuração dinâmica de propriedades a partir do Web.Config e muito mais.

 

Antes de começar...

Antes de codificar qualquer coisa em ASP.NET, é importante que você tenha em mente alguns conceitos e tome alguns cuidados importantes, principalmente se está migrando de uma solução Desktop/VCL:

·       Não queira fazer na Web as coisas exatamente como você faz em aplicações Windows/Desktop - o uso de Web Forms do ASP.NET ajuda, claro, mas saiba que você está rompendo de uma vez duas barreiras: mudança de framework (VCL para .NET FCL) e mudança de paradigma (Windows para Web). Um browser não é um formulário Delphi, infelizmente, então se acostume às limitações do HTML e HTTP;

·       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"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?