Buscar

Conexão com SGDBS Utilizando DBExpress – Parte 1

nome

Pedro Ernesto Braga

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Conexão com SGDBS Utilizando DBExpress – Parte 1

Olá delphianos, nesse artigo irei apresentar de como Conectar os Principais SGDBS do Mercado através do Delphi 2009 e DBExpress 5.

Neste artigo Utilizaremos as Ferramentas Delphi 2009 com DBExpress 5 os drivers TBODBXFB 0.9 para Firebird e os drivers Nativos do Delphi para os demais SGDBS.

Nas edições 53 e 60 da revista Active Delphi foram apresentados alguns artigos de conexão utilizando o driver TBODBXFB e como realizar a sua Instalação. Para Baixar o Instalador do Driver TBODBXFB acesse o Link http://www.tbosystems.bluehosting.com.br/dbx4/ no mesmo pode-se encontrar manuais de como realizar a Instalação e os possíveis erros e suas soluções.

Nessa Primeira Parte do Artigo iremos iniciar com o Firebird 2.1, se você ainda não tem instalado baixe-o em www.firebirdsql.org. Para gerenciar o banco de dados, utilizaremos o IBExpert (www.ibexpert.com), que é uma das melhores front-end para administração de banco de dados Interbase e Firebird.

Considerando que seu Firebird e IBExpert estejam devidamente Instalados, vamos agora para a criação do banco de dados do exemplo, com a execução do seguinte script:

SET SQL DIALECT 3;

SET NAMES WIN1252;

CREATE DATABASE 'localhost:C:\DBExpress\BDACTIVE.fdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1252;

/**** Tables ****/

CREATE TABLE BANCOS (
    CHAVE      INTEGER NOT NULL,
    BANCO      INTEGER NOT NULL,
    DESCRICAO  VARCHAR(25) NOT NULL,
    AGENCIA    INTEGER,
    CONTA      INTEGER,
    DVCONTA    INTEGER
);

/**** Primary Keys ****/
ALTER TABLE BANCOS ADD CONSTRAINT PK_BANCO PRIMARY KEY (CHAVE);

Após a Criação do Banco de Dados abra o Delphi e vá em “File – New - VCL Forms Application – Delphi” conforme imagem 1 para iniciar a criação da Aplicação.

Imagem 1 – Criação do Projeto

Altere a Propriedade Name para “FRMDemoDBExpress”, Caption para “Demo Conexão DBExpress” e Position para “poDesktopCenter” após realizar a alteração clique em “File – Save All” salve a unit como “uDemoDBExpress.pas” o Projects como “DemoDBExpress.dproj”.

Adicione ao Projeto o componente TpageControl renomeie para “pcPrincipal”, altere a propriedade Align para alClient, clique com o botão direito no “PageControl” e selecione a opção “New Page” conforme Imagem 2 e renomei para “tsFirebird”

Imagem 2 – Adicionando Page

Adicione ao Projeto os Componentes TSQLConnection, TSQLDataSet, TDataSetProvider, TClientDataSet e TDataSource. Renomeie para SQLCFireBird, SQLDSFirebrid, DSPFirebird, CDSFirebird e DSFirebird para que fique de de forma clara cada SGDBS.

O Assistente de Criação de Conexão do DBExpress foi reformulado fazendo com que apenas se utilize o Data Explorer o que não havia necessidade no Delphi 7 para acessar vá em View – Data Explorer será aberto no lado Direito da Tela conforme Imagem 3.

Imagem 3 – Data Explorer

Selecione o Driver TBODBXFB clique com o Botão Direito do Mouse e vá na opção Add New Connection abrir uma tela com as opções Provider Name que vira com o Driver já previamente selecionado coloque o Nome da Conexão como “DemoDBExpress” após a criação da conexão necessitamos selecionar a suas opções para isso clique com o Botão Direito na Conexão e vá em Modify Connection ira abir uma janela onde definiremos os parâmetros Server Name, Database Name, User Name e Password. No “Server Name” é o parâmetro onde definiremos o IP ou Nome do Servidor do Banco de Dados, “Database Name” será definido o caminho local da Base de Dados no Servidor, “User Name e Password” é o Usuário e Senha que iremos utilizar para realizarmos a Conexão, no nosso caso como estamos trabalhando localmente os parâmetros ficaram como da Imagem 4.

O Test Connection não Funcionara devido a erro do driver que está sendo corrigido pelo desenvolvedor, caso haja necessidade de alterar a porta do Serviço do Firebird clique na opção Advanced que o mesmo tem a opção “Port” que pode se alterada.

Imagem 4 – Parâmetros Conexão Firebird

Após realizarmos a configuração da Conexão temos que seleciona la para isso Abra o Object Inspector do SQLCFirebird na opção ConnectionName selecione a Conexão que criamos DemoDBExpress altere a propriedade LoginPrompt para False, finalizamos a criação da nossa Conexão agora utilizaremos em nossa aplicação.

No SQLDSFirebird na propriedade SQLConnection selecione o SQLCFirebird e vá no CommandText e adicione a SQL “select CHAVE, BANCO, DESCRICAO, AGENCIA, CONTA, DVCONTA from BANCOS” após a inserção da SQL de um duplo clique no componente será aberto o Fields Editor clique com o Botão Direito e vá em Add all Fields, após adicionarmos os Fiels temos que configurar as Provider Flags de cada Campo o que implica diretamente na velocidade de nossa aplicação, as opções são:

pfInKey = Se marcado como true, o DSP entenderá que o campo é uma/faz parte da chave primária da tabela.
pfInUpdate = Se marcado como true, o DSP entenderá que o campo será atualizável.
pfInWhere = Se marcado como true, indicará que este campo poderá fazer parte do where nos sql's de alteração (Updates e Deletes).
pfHidden = Se marcado como false, o DSP ignora o campo.

Na nossa aplicação Ficara da seguinte forma:



Após configuramos as opções vamos Configurar o DataSetProvider, ClientDataSet e o DataSource, que terá as seguinte opções:

DataSetProvider: Dataset “SQLDSFirebird”, UpdateMode “upWhereKeyOnly” e a Options “[poAutoRefresh,poPropogateChanges,poUseQuoteChar]”.

ClientDataSet: ProviderName “DSPFirebird” após a seleção do Provider de um duplo clique no componente será aberto o Fields Editor clique com o Botão Direito e vá em Add all Fields e Configure o Provider Flags de cada Campo.

DataSource: DataSet “CDSFirebird”.

Adicione os Fields do ClientDataSet ao Form, TDBNavigator renomeio para dbnFireBird, DBGrid renomeio para dbgFirebird e altere os DataSource para “DSFirebird”, TBitBtn renomeio para bitFirebird no OnClick do Botão adicione o comando “CDSFirebird.ApplyUpdates(0);” e TBitBtn renomeio para bitConectar no OnClick do Botão adicione o comando abaixo:



Conclusão:

Nessa nossa primeira parte vimos como criar uma conexão pelo DBExpress em tempo de Projeto futuramente veremos como passar os parâmetros em tempo de execução e conexão utilizando outros SGDBs como o Oracle 10G XE, dentre outras funcionalidade oferecidas pelo DBExpress e o CDS. Obrigado e até a próxima.

Publicidade

Vote no artigo




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes do artigo

Categoria: Banco de dados
Adicionado dia: 09/11/09
Por: Pedro Ernesto Braga
Visualizado: 19286 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009