Verificar alterações pendentes
10/07/2008
0
Olá amigos,
Gostaria de saber qual a melhor forma de identificar alterações pendentes, como inserção, edição e exclusão. Utilizo sqlquery-provider-clientdataset-datasource.
Minha intenção é dar um aviso de alterações pedentes caso a aplicação seja fechada antes do applyupdates.
Gostaria de saber qual a melhor forma de identificar alterações pendentes, como inserção, edição e exclusão. Utilizo sqlquery-provider-clientdataset-datasource.
Minha intenção é dar um aviso de alterações pedentes caso a aplicação seja fechada antes do applyupdates.
Du_nirvana
Curtir tópico
+ 0
Responder
Posts
10/07/2008
Joaoshi
Colega, utilize o [b:eec50d2236]ChangeCount[/b:eec50d2236].
Espero ter ajudado.
if SeuClientDataSet.ChangeCount = 0 then ShowMessage(´Não tem pendencia´) else ShowMessage(´Tem pendencia´);
Espero ter ajudado.
Responder
10/07/2008
Du_nirvana
Olá, pensei em algo mais genérico:
procedure TForm_Mpadrao.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var vl_i: integer; vl_c: integer; begin vl_c := 0; //procura por ClientDatasets da aplicação FOR vl_i := 0 TO ComponentCount-1 DO BEGIN //quando encontra verifica se ocorreu alguma alteração IF Components[vl_i].ClassType = TClientDataSet THEN BEGIN TClientDataSet( Components[vl_i] ).Next; IF TClientDataSet( Components[vl_i] ).ChangeCount <> 0 THEN Inc(vl_c); END; END; //se enocontrou alguma alteração mostra mensagem IF vl_c <> 0 THEN BEGIN IF MessageDlg( ´(´+IntToStr(vl_c)+´) Alteração(ões) Pendentes.´, mtWarning, [mbYes, mbNo],0) = mrYes THEN CanClose := FALSE ELSE CanClose := TRUE; END; end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)