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.


Du_nirvana

Du_nirvana

Responder

Posts

10/07/2008

Joaoshi

Colega, utilize o [b:eec50d2236]ChangeCount[/b:eec50d2236].

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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar