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.