Utilizando o componente IBUpdateSQL-Parte 1

Criando a Base de Dados

Nesse artigo será mostrado como utilizar os componentes IBQuery e IBUpdateSQL,e como usar um campo com auto nureração(Triggers e Generators)

Quando se esta utilizando um banco de dados Firebird, a conexão sua com o sistema em desenvolvimento é muito importante, e para isso temos vários componentes em varias palhetas no Delphi que tem está função, mais aqui irei mostrar a utilização do IBQuery(InterBase), que nos da maior mobilidade, pois iremos trabalhar diretamente com código SQL, e maior segurança quando se precisa utilizar uma auto numeração, e o componente IBUpdateSQL, adquirindo maior velocidade na transferência de dados.

Para este exemplo foi criado uma tabela na ferramenta IBExpert com a seguinte estrutura:

PK

Field Name

Field Type

Size

Sim

CLI_NOME

INTEGER

 

 

CLI_NOME

VARCHAR

35

 

CLI_ENDERECO

VARCHAR

35

 

CLI_BAIRRO

VARCHAR

35

 

CLI_CIDADE

VARCHAR

35

 

CLI_UF

CHAR

2

 

CLI_TELEFONE

VARCHAR

12

 

 

Para a auto numeração, devemos criar Generators e Triggers, e para isso clique com o botão direito do mouse sobre o campo que você deseja que tenha esta funcionalidade, que em nosso exemplo o campo CLI_CODIGO, a PK de nossa tabela, escolha a opção EditField CLI_CODIGO, seleciona a aba AutoIncrement , irão aparecer 3 sub Abas, na Generators seleciona a opção Create Generators, e a sub Aba Triggers selecione Create Triggers.

 Clique em OK, uma janela ira se abrir, clique em Commit.

Pronto, a auto numeração já está configurada em nosso banco.

Já com o banco para o exemplo pronto, inicie uma nova aplicação no Delphi.

Adicione ao formulário 1 componente IBDataBase e 1 IBTransaction

Clique 2 vezes no IBDataBase, deixe a opção Local selecionada, clique em Browse e localize o banco de dados, em UserName digite SYSDBA e em Password masterkey,  desmarque a opção Logun Prompt, clique em OK, altere a propriedade DefaultTransaction para IBTransaction1 e no IBTransaction altere a  propriedadeDefaultDatabase para IBDataBase1. Ative os 2 componentes alterando a propriedade Active de ambos para True.

Adicione 1 IBQuery(InterBase), altere a propriedade DataBase para IBDataBase1, e um clique na propriedade SQL, na janela que irá se abrir é onde se utiliza o código SQL, em nosso exemplo a Seguinte:

select * from TBL_CLIENTES

Clique 2 vezes sobre o IBQuery, clique com o botão direito do mouse e escolha a opção Add all Field, todos os campos da tabela devem aparecer, troce a propriedade Active para True.

Acrescente um DataSource(Data Access), altere a propriedade AutoEdit para false e DataSet para IBQuery1.

Na palheta DataControl acrecente ao formulário 1 DBGrid e um DBNavigator. Altere a propriedade DataSource de ambos para DataSource1.

Finalmente adicione o IBUpdateSQL(InterBase) a aplicação. No IBQuery1 altere a propriedade UpdateObject para IBUpdateSQL, clique 2 vezes no IBUpdateSQL1. Na janela que irá se abrir, em Key Field você deve deixar selecionados apenas os campos PKs da tabela, em nosso caso CLI_CODIGO e em Update Field deixe todos os campos selecionados.

Clique em Generate SQL, repare que todas as SQLs necessárias para todas as funções que precisávamos foram criadas automaticamente.

Para ativar a auto numeração que foi criada anteriormente no banco de dados é simples, no IBQuery1 clique na propriedade GeneratorField, na janela que irá se abrir ao campo Generator para GEN_TBL_CLIENTES_ID, em Field altere para CLI_CODIGO, e deixe selecionado a opção On New Record. 

Pronto, teste a aplicação e veja o seu funcionamento, agora use sua criatividade para usar essas dicas da melhor maneira.

Até mais e bom estudo.