Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Registros modificados en un TClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=60587)

Cecilio 06-10-2008 22:21:32

Registros modificados en un TClientDataSet
 
Hola a todos.

Tengo un TClientDataSet configurado para crear una xml con registros de telefonos, etc.

El problema es que al hacer Open, la propiedad ChangeCount se pone con el mismo valor que el número de registros hay, con lo cual no puedo detectar los cambios que se realizaron.
Voy a poner los dos métodos, de apertura y detección de cambios. Por si alguien me puede ayudar:

CDS Es el componente TclientDataSet como es natural.

Código Delphi [-]
Procedure Tform1.OpenCatalog(const AFileName: string);
begin
    cds.Close;
  cds.FileName:=AFileName;

  if not FileExists(Afilename) then
    cds.CreateDataSet;

  cds.Open;

  DisplayDataset; // muestra los registros

end;

Para detectar cambios:
Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  i: Integer;
begin

i:=cds.ChangeCount;
ShowMessage(IntTostr(i));

if i>0 then
begin
   case MessageDlg('¿Desea Guardar los cambios ?',mtConfirmation,
     mbYesNoCancel,0) of
     mrYes: guardar.Execute;
     mrNo: cds.CancelUpdates;
     mrCancel: CanClose := false;
   end; // case
 end;   // if
end;


La franja horaria es GMT +2. Ahora son las 00:44:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi