Fórum Registro não é gravado #341071
28/04/2007
0
Estou com um problema. Quando incluo registros no programa e depois minimizo ele, se eu desligar o computador sem fechar o programa antes, qdo abro ele novamente os registros que tinham sido incluidos antes do programa ser minimizado não aparecem. Como fazer para evitar isso?
Eu uso D7/FIREBIRD 1.5/IBX. Obrigado.
Luiz
L_carlos
Curtir tópico
+ 0Posts
28/04/2007
Paullsoftware
sempre post o código usado, assim, fica mais fácil de ajudar nos esclarecimentos... 8)
Gostei + 0
28/04/2007
L_carlos
O Codigo para gravar é esse:
with FDADOS.QryINSAgenda do
begin
ParamByName(´dat_dia´).asDate := dtdata.date;
ParamByName(´hor_hora´).asTime := strtotime(EDHORA.Text);
ParamByName(´des_evento´).asstring := edevento.text;
ParamByName(´des_detalhe´).asstring := memodetalhe.text;
ExecSql;
FDADOS.QryAgenda.Active :=FALSE;
FDADOS.QryAgenda.Active :=TRUE;
Onde FDADOS é o Data Module.
Luiz
Gostei + 0
29/04/2007
Marco Salles
na seccção private do form escreva
private procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession); begin if TestarSeFormmularioEstaMinimizado begin exceutarEventoBotaoSalvar Ou ExcutarEventoBotaoSalvar end; Msg.Result := 1; end;
ou se preferir :
procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION; Adicionar a procedure à seção implementation de sua unit:
procedure TForm1.WMEndSession(var Msg : TWMEndSession); begin if Msg.EndSession = true then if TestarSeFormmularioEstaMinimizado begin exceutarEventoBotaoSalvar Ou ExcutarEventoBotaoSalvar end; inherited; end;
Acho que funfa para o que voce quer
Gostei + 0
29/04/2007
Paullsoftware
IbDataBase
IbTransaction
IbDataSet
e nos eventos
[b:6af753cca6]afterPost e AfterDelete[/b:6af753cca6]
eu sempre coloco o código abaixo...
if Not Transaction.InTransaction then Transaction.StartTransaction; Try if Transaction.InTransaction then Transaction.CommitRetaining Except if Transaction.InTransaction then Transaction.RollbackRetaining; end;
assim, sempre que executo alguma alteração essas são gravadas diretamente no banco, então mesmo que falte energia logo depois de clicar no botão SALVAR os dados já estaram gravados no banco, pelo menos comigo sempre funcionou... :wink:
Gostei + 0
29/04/2007
L_carlos
Luiz
Gostei + 0
30/04/2007
Marco Salles
Abrir transação comitar fechar transação etc , para cad apost que se da no Aplicativo ´pode não ser uma prática boa... Pois pelo que tudo indica ,
estara consomindo muito recurso do servidor alem de prender a conexão e também o cursor . Nun Sistema de Rede , poderemos ter uma perda consideravel na performace..
Gostei + 0
30/04/2007
Paullsoftware
Abrir transação comitar fechar transação etc , para cad apost que se da no Aplicativo ´pode não ser uma prática boa... Pois pelo que tudo indica ,
estara consomindo muito recurso do servidor alem de prender a conexão e também o cursor . Nun Sistema de Rede , poderemos ter uma perda consideravel na performace..[/quote:7a0e1fc957]
valeu Marcos, eu usava isso quando trabalhava com IBX mais agora migrei pra DBX e não faço mais isso, até pq eu só usava essa torina como forma alternativa quando ocorria problemas do tipo!
mais valeu pelo toque...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)