AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TTable -> TDataSource -> Welche Zeile wurde geändert ?
Thema durchsuchen
Ansicht
Themen-Optionen

TTable -> TDataSource -> Welche Zeile wurde geändert ?

Ein Thema von HolgerCW · begonnen am 19. Mär 2009 · letzter Beitrag vom 25. Mär 2009
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

TTable -> TDataSource -> Welche Zeile wurde geändert ?

  Alt 19. Mär 2009, 15:18
Datenbank: ORACLE • Version: 10 • Zugriff über: BDE
Hallo zusammen,

wie kann ich herrausfinden in welchen Zeilen der Spalte X sich in der TTable was geändert hat ?

Ich benutze dgEditing und beim Editieren der Spalte X soll quasi in Spalte Y in der editierten Zeile auch ein Wert reingeschrieben werden.

In welchem Ereignis der DataSource muss ich da ansetzen ?

Gruss

Holger
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 19. Mär 2009, 20:28
Hallo,

schau dir mal OldValue / NewValue (TField) an.

Vor allem auch die Infos in der Hilfe dazu
(TClientDataSet, cached updates ...).


Heiko
Heiko
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 20. Mär 2009, 14:45
Hallo habe es so probiert:

Delphi-Quellcode:
procedure TTableAW_FilterAfterPost(DataSet: TDataSet);
begin

 if TTableAW_Filter['SPALTE'].OldValue <> TTableAW_Filter['SPALTE'].NewValue then
 begin


  //Tue was.
 
 end;

end;
So klappt es leider nicht...

Hat wer eine andere Lösung ?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 23. Mär 2009, 08:06
Hallo,

hast du das in den Klammern gelesen ?

Falls du das nicht benutzt -> leider Pech gehabt ...

Such mal bei DOA (Direct Oracle Access), vielleicht haben die was dazu.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 23. Mär 2009, 08:17
OnBeforePost - OnAfterPost ist zu spät.
Delphi-Quellcode:
procedure TForm1.TableAW_FilterBeforePost(DataSet: TDataSet);
begin
  with Dataset.FieldByName('SPALTE') do
  begin
    if OldValue <> NewValue then
      ... // Tue was
  end;
end;
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#6

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 25. Mär 2009, 13:16
Die Sache von sx2008 funktioniert.

Nur muss man CachedUpdates auf TRUE setzen. Wenn ich dies aber tue, wird die Änderung nicht mehr auf der Datenbank durchgeführt. Warum ?

Muss ich den Cache dann nochmal extra irgendwie posten ?

Gruss

Holger
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: TTable -> TDataSource -> Welche Zeile wurde geände

  Alt 25. Mär 2009, 15:32
Hallo,

schau dir das mal an.

http://podgoretsky.com/ftp/Docs/Delp.../11_cache.html


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz