Fórum Problemas com FireBird! #236912
09/06/2004
0
No sistema que estou desenvolvendo, tenho uma consulta de pacientes com algumas opções que eu posso estar escolhendo, uma delas é cadastrar novo paciente pressionando a tecla F2, tudo funciona normalmente só que na hora da gravação do registro ele não para o banco efetivamente, é como se não tivesse sido cadastrado. O que pode ser feito.
Desde já agradeço...
Jsaraujo
Curtir tópico
+ 0Posts
09/06/2004
Lucas Silva
http://delphiforum.icft.com.br/forum/viewforum.php?f=3
lá você deve encontrar algum material
Gostei + 0
09/06/2004
Vinicius2k
Informe-nos qual camada de acesso vc está utilizando (IBX, dbExpress, etc) e coloque a parte código onde vc faz a inserção para que tentemos ajudá-lo.
À princípio pode ser o problema mais comum... vc está commitando a transação?
T+
Gostei + 0
09/06/2004
Jsaraujo
estou usando o dbexpress e sim estou comitando a transação usando o comando applyupdates...quando eu abro o formulario de cadastro de pacientes direto ele cadastra normalmente, mas quando ele é aberto pela consulta para realizar o cadastro, as informações não são gravadas, é como se algo estive dando um rollback. Simplesmente as informações não vão para o banco, será que o firebird tem problemas com dbgrid?
Gostei + 0
09/06/2004
Vinicius2k
Acho q o primeiro passo é saber se o banco está lhe retornando algum erro e já que vc está usando TClientDataSet, como ele não gera exceção se algo sair errado no ApplyUpdates, sugiro que vc trabalhe o evento OnReconcileError para pegar a mensagem de erro (E.Message), ou simplesmente faça uma rotina que verifique se houve algum erro, caso tenha havido vc cancela o Update assim:
if ClientDataSet1.ApplyUpdates(-1) > 0 then begin //houve um erro... tratá-lo aqui... ClientDataSet1.CancelUpdates; end;
Espero ter ajudado...
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)