Utilizar o componente TIBDataSet

05/04/2006

Olá pessoal tudo bem, galera minha primeira mensagem de muitas que virão concerteza neste forum. estou começando a brincar com delphi e Interbase, minha pequena duvida é a seguinte.

na minha aplicação de testes tenho um DataModule, onde neste eu possuo os seguintes componentes.

um IBDataBase,IBTransaction e um IBDataset ok.. gostaria de saber como trabalhar com o IBDataset, estou procurando a uns 2 dias na internet exemplos e não acho.
Para mostrar em um dbGrid, ou seja, fazer uma consulta eu consigo, sem misterios, agora o que eu não consigo é fazer inclusões ,alterações de registros, não sei os passos que tenho que tomar, que comandos utilizar, ja tentei muitos mas não funciona.
a minha aplicação não tem dbnavigator nada, tenho um botão de inclusão e alteração, exclusão etc.. são campos Edits e não DbEdits, pois para isso acredito, que quando eu va fazer inserções, não ha necessidade de se utilizar um datasource.

é isso gostaria que alguem se disponibiliza-se a dar uma pequena força ao amigo aqui que esta entrando neste fantastico mundo do delphi ok..


valeu galera aguardo retorno.

se não entenderem podem mandar a duvida ai.


Perdiga

Respostas

05/04/2006

Paullsoftware

Crie uma nova aplicação e coloque os componentes:
TIbDataSet, TIBDataBase, TIbTransaction, TDataSource...

vamos primeiro fazer as ligações com o banco
1 Clique duas vezes no DataBase e vincule ao seu banco...
2 Clique duas vezes no transaction e marque a opção Read Commited...
3 Selecione o DataSet e vá na propriedade SelectSQL e faça um select simples, tipo: [b:3a54e63bd0]SELECT * FROM TABELA[/b:3a54e63bd0]
4 Agora clique com o botão direito sobre o seu DataSet e escolha a opção DataSet Editors...
5 Clique em Get Table Fields, Select Primary Keys, Selecione a chave primaria em Key Fields e todos os campos em UpDate Fields e pronto.

agora coloque db grid e dbnavigator e aponte-os para o dataSource... :wink:


Responder Citar

05/04/2006

Perdiga

ok amigo, essa parte esta funcionando de apresentar em um dbgrid, esta legal, esses passos eu executei todos eles, o que não quero é justamente usar o dbnavigator, não gosto dele. por isso na minha aplicação criei 3 botões um para incluir, outro para excluir e um para alterar, então quando eu clicar em incluir ele abre um formulario com os campos para que o usuario possa dar entrada, e quando clicar em gravar, ele grava no banco.

ou seja é neste botão de gravar que tenho que colocar meu codigo de inserção, é isso que não sei como?



valeu..


Responder Citar

05/04/2006

Paullsoftware

certo...
selecione o dataSet e nos eventos AffterPost e AffterDelete coloque:
if Not Transaction.InTransaction then
 Transaction.StartTransaction;
  Try
   if Transaction.InTransaction then
    Transaction.CommitRetaining
     Except
      if Transaction.InTransaction then
       Transaction.RollbackRetaining;
        end;

para testar a trasanção e no botão, coloque um códig simples...

para inserir...
DataSet.Insert;

para salvar
DataSet.Post;
DataSet.ApplyUpdates;
DataSet.Transaction.CommitRetaining;//ou commit, mais ele fecha o DataSet

para cancelar
DataSet.Cancell



Responder Citar

06/04/2006

Perdiga

valeu pela ajuda amigo, vou tentar por em prática isso.


Responder Citar