AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DB Eintrag nachvollziehen ?
Thema durchsuchen
Ansicht
Themen-Optionen

DB Eintrag nachvollziehen ?

Ein Thema von khh · begonnen am 23. Jun 2010 · letzter Beitrag vom 24. Jun 2010
Antwort Antwort
Seite 1 von 3  1 23      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 12:42
Datenbank: firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo zusammen,
mein Programm bringt es fertig, in Verbindung mit der Eingabe eines Kunden, eine Satz in eine Tabelle anzulegen , der im Primärschlüssel 0 stehen hat.
Ich kann das weder in meiner Entwicklungsumgebung noch bei einer anderen Installation im Programm nachvollziehen.

Gibts datenbankseitig ne Möglichkeit beim nächsten Auftreten des "Phänomens" nachzuvollziehen woher der Eintrag kommt?


Danke Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 12:44
Indem du einen After Post Trigger auf die Tabelle legst und jede Änderung protokollierst
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#3

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 12:56
Indem du einen After Post Trigger auf die Tabelle legst und jede Änderung protokollierst
ähm

hast mir da iregendwo nen codeschnipsel ?

danke dir
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:09
Für was genau?
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#5

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:18
Für was genau?
was kann ich denn loggen?

datum uhrzeit
was sonst noch?
EDIT: Das Datum schreibe ich normalerweise immer mit.
Was mich dabei stutzig macht, ist, dass in dem Schrottsatz kein Datum geschrieben wird.

am hilfreichsten wäre wenn ich feststellen könnte, ob ein bereits vorhandener Satz überschrieben wird.

Dann hätte ich einen Ansatzpunkt wo ich suchen könnte.
Karl-Heinz

Geändert von khh (23. Jun 2010 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:18
Er meint wohl einen AFTER UPDATE Trigger.
SQL-Code:
CREATE TRIGGER ADRESSE_AUO FOR ADRESSE
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
  UPDATE ADRESSE SET
    LETZTEAENDERUNG = CURRENT_TIMESTAMP
  WHERE (ID = OLD.ID) AND ((LETZTEAENDERUNG IS NULL) OR
        (LETZTEAENDERUNG <> CURRENT_TIMESTAMP));
END
^
Da wird jetzt der Zeitstempel der letzten Änderung eines Datensatzes protokolliert. Müsste man eben für Spezialfälle anpassen. Soll die DB unberührt bleiben, dann könnte man eventuell in Betracht ziehen, ein After Post Ereignis zu nutzen, sofern Zeos das überhaupt kennt.
Gruß
Hansa

Geändert von mkinzler (23. Jun 2010 um 13:34 Uhr) Grund: SQL-Tag eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:37
Wobei das einfügen eines Timestamps einfacher durch einen Defaultwert zu lösen wäre.
In diesem Fall wäre es besser eine Logdatei oder in eine Logtabelle zu schreiben
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:56
@mkinzler : wie, was, Defaultwert ?

Der Primärschlüssel wird auf 0 gesetzt und das soll nicht so sein, oder ? Es ist ja wohl ein BI-Trigger vorhanden, der die ID/Primärschlüssel anlegt ? Wäre jedenfalls die erste zu untersuchende Stelle. Lege vielleicht besser eine Exception an, die genau dann ausgeführt wird, wenn der Fall der Fälle eben auftritt. Solche dubiosen Fehler sind schwer aufzufinden. Wenn der Enduser allerdings eine Fehlermeldung präsentiert bekommt und direkt anruft und sagt was er vorher gemacht hat, dann kann man das wohl schnell lokalisieren.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 13:58
Es wäre einmal interessant zu sehen, wie der Insert-Trigger aussieht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#10

AW: DB Eintrag nachvollziehen ?

  Alt 23. Jun 2010, 14:18
Er meint wohl einen AFTER UPDATE Trigger.
SQL-Code:
CREATE TRIGGER ADRESSE_AUO FOR ADRESSE
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
  UPDATE ADRESSE SET
    LETZTEAENDERUNG = CURRENT_TIMESTAMP
  WHERE (ID = OLD.ID) AND ((LETZTEAENDERUNG IS NULL) OR
        (LETZTEAENDERUNG <> CURRENT_TIMESTAMP));
END
^
Da wird jetzt der Zeitstempel der letzten Änderung eines Datensatzes protokolliert. Müsste man eben für Spezialfälle anpassen. Soll die DB unberührt bleiben, dann könnte man eventuell in Betracht ziehen, ein After Post Ereignis zu nutzen, sofern Zeos das überhaupt kennt.
ich danke euch, werd ich so installieren.

Gruss KHH
Karl-Heinz

Geändert von mkinzler (23. Jun 2010 um 14:21 Uhr) Grund: SQL-Tag eingefügt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:46 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