[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/privacyprotection/cron/task/anonymize_ip.php on line 83: A non-numeric value encountered
Inoffizielles deutsches Xbase-Forum • SQLExpress: Fehler abfragen?
Seite 1 von 1

SQLExpress: Fehler abfragen?

Verfasst: Mo, 09. Dez 2013 21:54
von satmax
Ich versuche einen Satz zu löschen den ich laut Datenbankdefinition nicht löschen darf weil noch eine Verknüpfung besteht. Es blitzt kurz eine Fehlermeldung auf und im SQLError.log finde ich folgendes:
Windows 7 06.02 Build 09200, SQLXpp: 3.2.15, Runtime: 1.90.355
SQLState: 23000, ErrorCode:547
[Microsoft][ODBC SQL Server Driver][SQL Server]Die DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung 'FK_Auftrag_Fr'. Der Konflikt trat in der XYV8_Z5-Datenbank, Tabelle 'dbo.Auftrag', column '_ID_Fr' auf.
SQLState: 01000, ErrorCode:3621
[Microsoft][ODBC SQL Server Driver][SQL Server]Die Anweisung wurde beendet.
Jetzt möchte ich aber nicht eine kurze Meldung aufblitzen lassen sondern den Anwender mit einer MSG Box darüber informieren. Die SQL Meldung abschalten kann ich, aber wie kann ich den Fehler bzw. die Fehlermeldung auslesen?

Gruß
Markus

Re: SQLExpress: Fehler abfragen?

Verfasst: Di, 10. Dez 2013 8:18
von georg
Hallo, Markus -


ich vermute mal, dass Du mittels :execute("DELETE FROM meinedatei WHERE key = wert") löschen willst?

Die Methode :execute() gibt laut Dokumentation verschiedene Werte zurück, deren Wert Du überprüfen kannst.

Über den Callback onError des SQLConnection() Objekts kannst Du bestimmte Reaktionen realisieren, alternativ kannst Du auch über die Instanzvariablen :ErrorCode bzw. :ErrorMessage Informationen abrufen und an den Benutzer weitergeben.

Re: SQLExpress: Fehler abfragen?

Verfasst: Di, 10. Dez 2013 10:00
von satmax
Hallo Georg,

ich verwende zum löschen:

Code: Alles auswählen

oCursor:Delete()
oCursor:Commit()
oCursor:ErrorMessage und oCursor:ErrorCode sind leer. Ich sehe nur die Meldung kurz aufblitzen und eben den Fehler im SQLError.txt File.


Gruß
Markus

Re: SQLExpress: Fehler abfragen?

Verfasst: Di, 10. Dez 2013 10:39
von georg
Hallo, Markus -


versuche es mal mit den entsprechenden Instanzvariablen des SQLConnection()-Objektes.

Wenn es damit auch nicht funktioniert, muss ich mal wieder den Quelltext konsultieren.

Re: SQLExpress: Fehler abfragen?

Verfasst: Di, 10. Dez 2013 13:20
von satmax
Hallo Georg,

nein, geht auch nicht. Zusätzlich habe ich versucht mit

oConnection:displayErrors := .f.

die interne Fehlerausgabe abzuschalten, auch das funktioniert nicht. Einzig das :commit() nach dem :delete() liefert .f.

Gruß
Markus