Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank auf gelöschte Datensätze überprüfen (https://www.delphipraxis.net/22086-datenbank-auf-geloeschte-datensaetze-ueberpruefen.html)

Gambit 12. Mai 2004 09:51


Datenbank auf gelöschte Datensätze überprüfen
 
Moin,

Auf einem Server liegt eine Datenbank, auf die zahlreiche User Zugriff haben. Ich möchte nun eine Routine schreiben, die diese Datenbank auf gelöschte Einträge überprüft und mir die Nummer(Primärschlüssel) des gelöschten Datensatzes anzeigt.

Eine Möglichkeit, die ich ausprobiert habe und die auch funzt ist folgende: Ich habe eine exakte Kopie der Datenbank auf dem Server angelegt. In regelmäßigen Abständen durchlaufe ich in einer Schleife sämtliche Datensätze der Kopie der Datenbank und übe für jeden Datensatz eine Select Anweisung mit der Nummer auf die Original Datenbank aus. Bekomme ich keinen Datensatz zurück, weiß ich, dass der Datensatz mit der entsprechenden Nummer in der Original Datenbank gelöscht wurde.

Der wahre Jakob scheint mir diese Lösung aber noch nicht zu sein. Geht das auch anders besser? Hatte mir auch schon überlegt, mit dem Ereignis "AfterDelete" zu arbeiten aber bekomme ich dann auch raus, welcher Datensatz genau gelöscht wurde?

Gruß

Gambit

Nalincah 12. Mai 2004 09:55

Re: Datenbank auf gelöschte Datensätze überprüfen
 
Greifen die User mit einem von dir geschriebenen Programm auf die DB zu??

Wenn ja:

Sobald ein User mit deinem Programm aus der Originaldatenbank was löscht, dann kannst du das doch in ne Datei protokollieren. Mit Datenbankname, Tabellenname und ID

Gambit 12. Mai 2004 09:58

Re: Datenbank auf gelöschte Datensätze überprüfen
 
Leider nein. Die Datenbank wird von einem anderen Programm gesteuert, auf das ich keinen Einfluss habe. Somit kann ich auch wohl mit AfterDelete nichts anfangen.

Gruß

Gambit

Nalincah 12. Mai 2004 10:03

Re: Datenbank auf gelöschte Datensätze überprüfen
 
Dann höchstens mit einem Programm das die DB kontrolliert.Wüsste aber nicht wie ich das realisieren würde. Oder halt deine Methode

Generalissimo 12. Mai 2004 10:12

Re: Datenbank auf gelöschte Datensätze überprüfen
 
Was für ne DB ist es denn? Wenn es eine ist doe Trigger unterstützt kannst du eine Art Logbuch schreiben. Ne Tabelle anlegen in der der Primarschlüssel (um gelöschten Datensatzzu indentifizieren), der tabellenname, uhrzeit etc.. Alles was du willst. Imme wenn gelöscht wird, wird ja der trigger aktiviert und alles ins "Logbuch" geschrieben. Auswertungen sind da kein Problem mehr

woki 12. Mai 2004 10:15

Re: Datenbank auf gelöschte Datensätze überprüfen
 
Hi,

was ist das denn für eine Datenbank?
Die Aufgäbe ist nicht sinnvoll von einem Anwendungsprogramm aus lösbar, sondern nur innerhalb der Datenbank, wenn diese z.B. Trigger und Stored Procedures beherrscht.

Grüsse
Woki

Gambit 12. Mai 2004 10:21

Re: Datenbank auf gelöschte Datensätze überprüfen
 
das ist eine DBase 5 Datenbank. Zumindest hat sie die Endung .dbf und ich kann sie mit einem DBase 5 ODBC Treiber ansprechen.

Gruß

Gambit


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 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