Array
(
)

Utilizar o componente TIBDataSet

Perdiga
   - 05 abr 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.


Paullsoftware
   - 05 abr 2006

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: SELECT * FROM TABELA
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:


Perdiga
   - 05 abr 2006

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..


Paullsoftware
   - 05 abr 2006

certo...
selecione o dataSet e nos eventos AffterPost e AffterDelete coloque:
#Código

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...
#Código
DataSet.Insert;

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

para cancelar
#Código
DataSet.Cancell



Perdiga
   - 06 abr 2006

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