Avatar billede hrc Mester
05. marts 2007 - 14:05 Der er 1 løsning

TClientDataSet og pesudo-sletning af record

Jeg har set lyset og det hedder TClientDataSet. Meget af det jeg møjsommeligt pakkede ind i klasser og lister er tilsyneladende opfundet.

Der er dog spørgsmål:

Når jeg sletter en record vil jeg sjældent slette den i tabellen, men bare sætte et slette-flag til true.
Hvor er det bedst at gøre dette? Kan snildt fange den i TClientDataSet'ens BeforeDelete. Men recorden ikke forsvinder fra min grid medmindre jeg lukker og åbner datasættet igen (henter fra en query der filtrerer where aktiv = 1):

  DataSet.Edit;
  try
    DataSet.FieldByName('aktiv').Value := false;
  finally
    DataSet.Post;
  end;
  Abort;

.. Men hvad så med TDataSetProvider'ens BeforeUpdateRecord-event?

(Sender: TObject; SourceDS: TDataSet; DeltaDS: CustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean);

Umiddelbart virker det mere fornuftigt her, men jeg kan ikke få det til at virke. Her kan jeg fange den på UpdateKind og sætte et Applied-flag - men skal jeg poste en update-operation til DeltaDS eller hvad?

Bedste adgang til den problemstilling efterlyses.
Avatar billede hrc Mester
21. marts 2007 - 09:49 #1
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester