Announcement

Collapse
No announcement yet.

DB-Fehlermeldung durch eigene ersetzen ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DB-Fehlermeldung durch eigene ersetzen ?

    Hallo,<BR><BR>
    wie kann ich eine solche Fehlermeldung<BR><BR><B>
    Hauptdatensatz nicht gefunden.<BR>
    violation of FOREIGN KEY constraint "INTEG_16" on table "P_DATEN"<BR><BR></B>
    durch eine für Anwender verständliche Fehlermeldung z.B.<BR><BR><B>
    Datensatz darf nicht gelöscht werden.<BR><BR></B>ersetzen? Ich benutze Firebird 1.5, C++Builder5 und alles läuft unter Windows XP.<BR><BR>MfG Dennis

  • #2
    try catch verwende

    Comment


    • #3
      Hallo Jochen,<BR><BR>
      bei try catch werden alle Fehler abgefangen und ich kann nur eine allgemeine Fehlermeldung für alle Fehler ausgeben. Ich wollte aber die Fehler einzeln behandeln. Wird da nicht irgendeine Nummer zurückgeliefert oder so?
      <BR><BR>
      MfG Denni

      Comment


      • #4
        Hi Dennis,

        wenn Du statt catch (...) die entsprechnde Fehlerklasse verwendest, bekommst Du ein entsprechendes Fehlerobjekt, das Du auswerden kannst. Das war irgendwas mit catch (EDB.... &FehlerObjekt). Wenn Du die Exception nicht selbst behandelst kannst Du sie mit throw weiterleiten.

        Grüße Joche

        Comment


        • #5
          Hallo Jochen,<BR><BR>
          es geht tatsächlich. Kann ich irgendwo die Liste der Fehlercode von Firebird bzw. InterBase runterladen?<BR><BR>MfG Denni

          Comment


          • #6
            Sorry, keine Ahnung...

            Joche

            Comment


            • #7
              Sita,

              normalerweise steht sowas in der Hilfe.

              Gruß,<br>
              Ja

              Comment


              • #8
                Guten Morgen Sita,

                schau mal in dein Firebird-Verzeichnis. Die Datei iberror.h müßte im Ordner .\Firebird\SDK\include\ zu finden sein, also hier...

                ...\Firebird\SDK\include\iberror.h

                Wie greifst Du auf die Datenbank zu? Mit den IBObjects? Die können die Fehlermeldungen sehr detailiert ausgeben.

                Die Fehlermeldungen lassen sich grob in 3 Gruppen einteilen, siehe unten...

                <PRE>
                // ----------------------------------------------------------------------
                // Quelle: LANGREF.PDF
                // Quelle: InterBase 6 - "Language Reference"
                // Chapter 6 - "ERRORCODES AND MESSAGES"
                // Table 6.3 "SQLCODE error message summary"
                // Seite 204 ff.
                // ----------------------------------------------------------------------
                // SQLCODE : Message : Meaning
                // ----------------------------------------------------------------------
                // < 0 : SQLERROR : Error! The statement did not complete
                // 0 : SUCCESS : Successful completion
                // +1 ... +99 : SQLWARNING : Systemwarning or informational message
                // +100 : NOT FOUND : No qualifying records found; end of file
                // ----------------------------------------------------------------------

                </PRE>

                Hoffentlich ist der obige Text lesbar.

                Schönen Tag noch....

                Grüße, Jürge

                Comment

                Working...
                X