Fórum Problemas com FireBird! #236912

09/06/2004

0

Bom dia,

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

Jsaraujo

Responder

Posts

09/06/2004

Lucas Silva

Dá uma olhada no fórum de IB/FB
http://delphiforum.icft.com.br/forum/viewforum.php?f=3
lá você deve encontrar algum material


Responder

Gostei + 0

09/06/2004

Vinicius2k

Jeferson,

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+


Responder

Gostei + 0

09/06/2004

Jsaraujo

Ola amigo,

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?


Responder

Gostei + 0

09/06/2004

Vinicius2k

Jeferson,

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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar