AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MariaDB: Event bei neuem Datensatz

MariaDB: Event bei neuem Datensatz

Ein Thema von Helmi · begonnen am 4. Sep 2025 · letzter Beitrag vom 5. Sep 2025
Antwort Antwort
Seite 2 von 2     12
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
199 Beiträge
 
Delphi 12 Athens
 
#11

AW: MariaDB: Event bei neuem Datensatz

  Alt 5. Sep 2025, 07:42
Ja das machst du in etwa so:

Die zusätzliche Log-Table:
Code:
CREATE TABLE table_log (
  id INT AUTO_INCREMENT PRIMARY KEY,
  aktion VARCHAR(10),          -- z. B. 'INSERT', 'UPDATE', 'DELETE'
  zeitpunkt DATETIME DEFAULT NOW()
);
Die TRIGGER:
Code:
-- INSERT Trigger
CREATE TRIGGER table_insert AFTER INSERT ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO table_log (aktion, zeitpunkt) VALUES ('INSERT', NOW());
END;

-- UPDATE Trigger
CREATE TRIGGER table_update AFTER UPDATE ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO lable_log (aktion, zeitpunkt) VALUES ('UPDATE', NOW());
END;

-- DELETE Trigger
CREATE TRIGGER kunden_delete AFTER DELETE ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO table_log (aktion, zeitpunkt) VALUES ('DELETE', NOW());
END;
Abfrage der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'SELECT * FROM table_log ORDER BY zeitpunkt DESC';
FDQuery.Open;
Und entfernen der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'DELETE FROM table_log';
FDQuery.ExecSQL;
Das musst du entsprechend deiner Anforderung etwas anpassen, aber grundsätzlich ginge das so.
Debuggers don’t remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.355 Beiträge
 
Delphi XE2 Professional
 
#12

AW: MariaDB: Event bei neuem Datensatz

  Alt 5. Sep 2025, 08:07
Ja das machst du in etwa so:

Abfrage der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'SELECT * FROM table_log ORDER BY zeitpunkt DESC';
FDQuery.Open;
Und entfernen der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'DELETE FROM table_log';
FDQuery.ExecSQL;
Das musst du entsprechend deiner Anforderung etwas anpassen, aber grundsätzlich ginge das so.
schaut interessant aus - werd ich ausprobieren
Im Delphi-Programm schaust du dann, ob Daten aus der table_log vorhanden sind?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
199 Beiträge
 
Delphi 12 Athens
 
#13

AW: MariaDB: Event bei neuem Datensatz

  Alt 5. Sep 2025, 08:20
schaut interessant aus - werd ich ausprobieren
Im Delphi-Programm schaust du dann, ob Daten aus der table_log vorhanden sind?
Ja genau mit den beiden Querys behandel ich das, eine zum feststellen, ob es Änderungen gab und die Andere zum löschen der Einträge.

Es gibt sicher noch weitere Möglichkeiten. Wenn du volle Change Notification-Unterstützung brauchst, wäre ein Wechsel zu z. B. InterBase oder Oracle eine Überlegung wert – dort funktioniert das direkt über FireDAC
Debuggers don’t remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.355 Beiträge
 
Delphi XE2 Professional
 
#14

AW: MariaDB: Event bei neuem Datensatz

  Alt 5. Sep 2025, 11:16
Ja genau mit den beiden Querys behandel ich das, eine zum feststellen, ob es Änderungen gab und die Andere zum löschen der Einträge.

Es gibt sicher noch weitere Möglichkeiten. Wenn du volle Change Notification-Unterstützung brauchst, wäre ein Wechsel zu z. B. InterBase oder Oracle eine Überlegung wert – dort funktioniert das direkt über FireDAC
Ein toller Umweg über die Log-Table - funktioniert gut.
Danke für den Tipp.

Eigentlich wollt ich auf meiner QNAP-NAS eine Firebird DB installieren (hatte ich auf meiner alten NAS laufen).
Aber ich hab es nicht zum Laufen gebracht (siehe anderen Thread).

Für meine paar Anwendungen machts auch die MariaDB.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz