BEISPIEL
BEISPIEL
Kapitel 10: SQL Server
Abbildung 10.40 Die Rückgabe der Prozedur
Sie können natürlich auch einen Fehler auswerten und einen »neuen« mit RAISERROR generieren.
Fehler erneut auslösen
ALTER PROCEDURE Test
AS
BEGIN TRY
SELECT 10/0
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE(), ERROR_NUMBER(), ERROR_LINE(), ERROR_SEVERITY()
RAISERROR('Wer programmiert so einen Mi...?',16, -1)
END CATCH
return 0
Wenden wir uns jetzt der Client-Seite zu.
Fehlerbehandlung mit den ADO
Geht Ihnen die bisher beschriebene Fehlerbehandlung nicht weit genug, können Sie die Errors-Collection
des Connection-Objektes verwenden, um neben der eigentlichen Meldung auch gleich noch die Fehler-
nummer, den Schweregrad und den Statuscode auszuwerten.
Aufruf der gespeicherten Prozedur aus dem Access-Programm heraus. Der Fehler wird über das
Error
-Objekt
ausgewertet. Kommt es zu mehr als einem Fehler, können Sie auch diese auswerten, da die gesamte
Errors
-
Collection durchlaufen wird.
Sub test3()
On Error GoTo Fehler
Dim err As ADODB.Error
Dim cmd As New ADODB.Command
Dim param1 As ADODB.Parameter
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "Test"
cmd.ActiveConnection = CurrentProject.Connection
658

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.