Fórum Problema com gravação. #196086
19/11/2003
0
Dm.ClientDataSetProdutos.Post;
Dm.ClientDataSetProdutos.ApplyUpdates(0);
Enfim...
Tenho tb uma tela de “Entrada de Produtos”, que faço uma pesquisa na tabela de produtos pra incluir meus itens de entrada.
Pois bem, quando eu cadastro algum produto (XXXXXX), gravo e saio da tela de “Cadastro de Produtos”, e vou para a tela de “Entrada de Produtos”, e faço a pesquisa para incluir o produto que acabei de cadastrar (XXXXXX), a pesquisa não encontra este produto que acabei de cadastrar. Eu tenho que finalizar o aplicativo, e entrar novamente, e ai sim o produto (XXXXXX), é encontrado pela pesquisa na tela de “Entrada de Produtos”.
Resumindo, o registro só é fisicamente gravado quando saio da aplicação. Mas eu estou usando o post e applyUpdates!!!!! O que estou fazendo de errado???
Uso um DataModule, IBDataSet, ClientDataSet (interbase) palheta IBX
Agradeço a ajuda
Fabio.palm
Curtir tópico
+ 0Posts
20/11/2003
Maxsoftware
Este comando deve linpar da memória então feche e abra a table sempre que gravar ou use o Dm.ClientDataSetProdutos.ApplyUpdates;
Max...
Gostei + 0
21/11/2003
Rafael_gamba
DBISaveChanges(Tabela.Handle);
Tabela.Refresh;
para isso acrescente em Uses a biblioteca DBIProcs.
Não tem erro!!! Um abraço!!!
Gostei + 0
21/11/2003
Lordglacius
No Interbase qualquer tipo de dado gravado deve ser liberado da transação qual se encontra. Utilizando o comando Commit ou CommitRetaining. No primeiro caso, vc simplesmente atualiza a transação, faz o flush dos dados para o banco e fecha qualquer DataSet ligado à esta transação. No segundo caso, a transação atualiza o banco de dados, mas somente para a sua transação, não fechando os DataSets ligados à mesma (os outros usuários do programa não poderão ver as informações que vc acabou de gravar).
Recomendo o seguinte: Utilize duas IBTransactions: Uma para listagem e uma para atualização de dados. Assim quando vc ´COMMITA´ a transação de atualização de dados, a de listagem continua funcionando, bastando vc reiniciar esta e ter o acesso aos dados alterados anteriormente na outra transação. 8)
No caso acima, vc verá as novas informações atualizadas assim como os outros usuários do seu programa na rede.
Qq dúvida manda aeh que a gnt te ajuda com isso... transações no IB são um saco mesmo cara.. até vc se acostumar ou definir uma politica de tratamento da mesma em suas aplicações... :twisted:
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)