Ihre Anwendung muss so konzipiert sein, dass eventuell auftretende Fehler, auch ADO.NET-Fehler, verarbeitet werden. ADO.NET-Fehler werden innerhalb Ihres Programmcodes genau so abgewickelt wie andere Fehler in Ihrer Anwendung.
Der SQL Anywhere .NET-Datenprovider gibt SAException-Objekte aus, wenn während der Ausführung Fehler auftreten. Jedes SAException-Objekt besteht aus einer Liste von SAError-Objekten, und diese Fehlerobjekte enthalten Fehlermeldungen und Fehlercodes.
Fehler sind nicht dasselbe wie Konflikte. Konflikte entstehen, wenn Änderungen in der Datenbank übernommen werden. Ihre Anwendung muss einen Prozess enthalten, um korrekte Werte zu berechnen oder eventuelle Konflikte zu protokollieren.
Weitere Hinweise zur Konfliktverarbeitung finden Sie im Abschnitt Konflikte beim Einsatz des SADataAdapter-Objekts lösen.
Das nachstehende Beispiel finden Sie im Beispielprojekt "Simple". Alle Fehler, die während der Ausführung auftreten und aus SQL Anywhere .NET-Datenprovider-Objekten stammen, werden in einem Fenster angezeigt. Der nachstehende Beispielcode fängt den Fehler ab und zeigt die dazugehörige Meldung an:
catch( SAException ex ) { MessageBox.Show( ex.Errors[0].Message ); } |
Das nachstehende Beispiel kommt aus dem Beispielprojekt "Table Viewer". Wenn die Anwendung eine Verbindung mit der Datenbank aufnehmen will und ein Fehler auftritt, benutzt der folgende Programmcode einen "try and catch"-Block, um den Fehler abzufangen und die entsprechende Meldung anzuzeigen:
try { _conn = new SAConnection( txtConnectString.Text ); _conn.Open(); } catch( SAException ex ) { MessageBox.Show( ex.Errors[0].Source + " : " + ex.Errors[0].Message + " (" + ex.Errors[0].NativeError.ToString() + ")", "Failed to connect" ); |
Weitere Beispiele zur Fehlerbehandlung finden Sie in den Abschnitten Zum Verständnis des Beispielprojekts "Simple" und Zum Verständnis des Beispielprojekts "Table Viewer".
Weitere Hinweise zur Fehlerbehandlung finden Sie in den Abschnitten SAFactory-Klasse und SAError-Klasse.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |