AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit EMySQLNativeException
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit EMySQLNativeException

Ein Thema von Frankdarwin · begonnen am 22. Apr 2025 · letzter Beitrag vom 23. Apr 2025
Antwort Antwort
Frankdarwin

Registriert seit: 27. Jan 2011
9 Beiträge
 
Delphi 12 Athens
 
#1

Probleme mit EMySQLNativeException

  Alt 22. Apr 2025, 21:49
Datenbank: MySQL • Version: 8.0.13 • Zugriff über: Firedac
Hallo,
nach mehrjähriger Unterbrechung beschäftige ich mich wieder mit Delphi.
Ich habe mit Freuden festgestellt, dass sich seit meiner letzten Begegnung mit Delphi vieles verbessert hat.
Aktuell verwende ich Delphi 12.
Nach wenigen Tagen war ich wieder im Thema und komme mit der neuen Version gut zurecht, stolpere aber über ein Problem,
mit dem ich noch nicht konfrontiert wurde.

Ich versuche erstmals mit Delphi und Firedac eine MySQL DB zu bearbeiten.
Prinzipiell funktioniert das auch. Aber:

In einer MySQL Tabelle habe ich ein Feld, welches mit dem Constraint "UNIQUE" definiert wurde.
Nach füllen der Tabellenfelder führe ich die Anweisung "FDTable1.ApplyUpdates();" in einem try-Block aus um
den erwarteten Fehler abzufangen, der bei der Verletzung des Constraint "UNIQUE" auftreten muss.
Der try-Block sieht wie folgt aus:
Delphi-Quellcode:
try
    FDTable1.ApplyUpdates();
    FDTable1.CommitUpdates;
except
    on E: EMySQLNativeException do
begin
   ShowMessage('Fehler beim Speichern der Daten (MySQL): ' + E.Message);
   FDTable1.CancelUpdates;
end;
Wenn ich den Code ohne Debugger ausführe passiert Garnichts.
Führe ich den Code mit Debugger aus, erscheint die erwartete Fehlermeldung (siehe Anhang).

Meine, im try-Block definierte Fehlerbehandlung wird aber nie angesprungen.
Auch dann nicht, wenn ich in der Benachrichtigung (Anhang) die Option "Diesen Exception-Typ ignorieren" markiere.

Wo liegt mein Problem?
Ich bin für jede Hilfe dankbar!
Angehängte Grafiken
Dateityp: jpg Debugger Exception.jpg (18,2 KB, 22x aufgerufen)
Frank
"Geht nicht, gibt's nicht!"
Schon gar nicht, bevor man es nicht porobiert hat.

Geändert von TBx (23. Apr 2025 um 12:17 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Probleme mit EMySQLNativeException

  Alt 23. Apr 2025, 05:53
.. wird denn genau dieser Fehler "EMySQLNativeException" geworfen wenn die unique Constraints betroffen sind?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Probleme mit EMySQLNativeException

  Alt 23. Apr 2025, 06:07
Hilft das hier weiter? https://stackoverflow.com/questions/...n-applyupdates
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
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Probleme mit EMySQLNativeException

  Alt 23. Apr 2025, 06:43
Du kannst einfach einmal in dem Dialog aus deinem Screenshot auf Anhalten drücken. Dann siehst du oben links den Stacktrace zu der Stelle, an der der Fehler geworfen wird.

Wenn du dich dann durch den Stacktrace durch klickst, wirst du eine Stelle finden, an der die Exception mit try..except abgefangen wird. Deshalb läuft diese nicht in dein try..except.

DeddyH hat ja schon eine entsprechende Erklärung zur Behandlung deines ApplyUpdates verlinkt. Das wird auch in der Doku beschrieben:
https://docwiki.embarcadero.com/Libr...t.ApplyUpdates
Du übergibst die maximale Anzahl Fehler, die akzeptiert werden sollen, bevor die Operation abgebrochen wird. Zurück bekommst du die Anzahl der aufgetretenen Fehler. Ist diese größer als 0, kannst du abbrechen.
Sebastian Jänicke
AppCentral
  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:46 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