wie Fehlermeldungen vom MySQL-Server abfangen? (gelöst)



  • Hallo allerseits,

    da hab ich schon wieder ne Frage. Vielleicht könnt ihr mir wieder nen Tip geben.
    In meinem Clientprogramm nutze ich eine ADOConnection und ADOQuery (Borland Turbo C++ 2006) um mit einer Tabelle auf dem MySQL-Server zu arbeiten.
    Wenn ich mit einem Account ohne Schreibrecht an der Tabelle etwas ändern will, sendet der Server eine Exception (sinngemäß: Aktion verweigert, weil kein Update-Recht). Soweit so gut.

    Nun möchte ich aber diese Meldung unterdrücken, und eine eigene Form ausgeben.
    Wo kann ich die Exception abfangen um darauf zu reagieren?

    danke
    C-Bär



  • Exceptions werden mit try/catch abgefangen, dazu gibt es hier im Forum Hunderte Beiträge.



  • Hi Jansen,

    try and catch ist klar. Hab mich auch nicht deutlich ausgedrückt.

    Ich zeige die Daten mit einem DBGrid an. Dort kann ich auf eine Zelle klicken, den Inhalt ändern und wenn ich in eine andere Zeile wechsle, wird der Datensatz in der DB aktualisiert. Quasi automatisch.
    Und darum meine Frage, ich hab ja keinen Code den ich im try-Block laufen lassen könnte.

    C-Bär



  • Exceptions aus der Datenbank müssen dort abgefangen werden, da sie sich sonst immer in den Vordergrund spielen ob du willst oder nicht.


  • Mod

    Hallo

    wie bist du mit der DB verbunden ?
    (welche Komponenten)

    Welchen Builder verwendest du ?

    Mfg
    KLaus



  • Klaus: das steht ausnahmsweise mal alles mit in der Original-Frage. 🙂

    C-Bär: sieh dir mal TApplicationEvents::OnException an, vielleicht lässt sich das ja verwenden.



  • Hallo Jansen,

    TApplicationEvents::OnException war der Treffer. Dort nehme ich mir den Message-String und stelle so fest woher die Exception kommt, und was der Grund war. Super Sache!

    C-Bär


Anmelden zum Antworten