Verificar alterações pendentes
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
Curtidas 0
Respostas
Joaoshi
10/07/2008
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.
GOSTEI 0
Du_nirvana
10/07/2008
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;
GOSTEI 0