Perdendo dados gravados

Delphi

04/10/2007

Olá,

Estou usando o codigo abaixo para gravar dados no programa (D7/IBX/FIREBIRD 1.5). O codigo funciona corretamente, mas se ocorre algum problema na maquina (falta de energia por exemplo), quando ela é ligada novamente e abro o programa os dados que inclui qdo o programa estava aberto não aparecem. Como faço para resolver esse problema? Obrigado.

With dtMODULO.QryINSAgenda do
begin

ParamByName(´dat_dia´).asDate := dtdata.date;
ParamByName(´hor_hora´).asTime := strtotime(maskhora.text);
ParamByName(´des_evento´).asstring := edevento.text;
ParamByName(´des_detalhe´).asstring := memodetalhe.text;

ExecSql;
End;

Luiz


L_carlos

L_carlos

Curtidas 0

Respostas

Paulo

Paulo

04/10/2007

No evento AfterPost, do componente de gravação e no AfterDelete, coloque:
TComponenteQuery.ApplyUpdates(0);


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/10/2007

Você precisa comitar as transações.


GOSTEI 0
L_carlos

L_carlos

04/10/2007

OK Gandalf,

Mas se eu der um commit na transação toda vez que incluir ou editar um registro, isso não vai deixar o programa meio lento? Ou não tem nada a ver?

Luiz


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/10/2007

O habitual é comitar a cada registro incluído/editado/excluído (exceto nos casos de operações em lotes), assim as chances de perder dados são reduzidas.


GOSTEI 0
L_carlos

L_carlos

04/10/2007

Vlw Gandalf.

Luiz


GOSTEI 0
POSTAR