Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere .NET データ・プロバイダ

 

エラー処理と SQL Anywhere .NET データ・プロバイダ

アプリケーションは、ADO.NET エラーを含む任意のエラーを処理できるよう設計してください。ADO.NET エラーはコード内で、アプリケーション内の他のエラーを処理する場合と同じ方法で処理されます。

SQL Anywhere .NET データ・プロバイダは、実行時にエラーが発生した場合はいつでも SAException オブジェクトをスローします。各 SAException オブジェクトは SAError オブジェクトのリストから成り、これらのエラー・オブジェクトにはエラー・メッセージとコードが含まれます。

エラーは競合とは異なります。競合は、データベースに変更が適用されたときに発生します。このため、アプリケーションには、競合が発生したときに正しい値を計算したり競合のログを取ったりするプロセスを採用する必要があります。

競合の処理の詳細については、SADataAdapter を使用するときの競合の解消を参照してください。

.NET データ・プロバイダのエラー処理の例

次に示すのは Simple サンプル・プロジェクトの例です。実行時に SQL Anywhere .NET データ・プロバイダ・オブジェクトから発生したエラーは、ウィンドウに表示されて処理されます。次のコードは、エラーを取得してそのメッセージを表示します。

catch( SAException ex ) {
    MessageBox.Show( ex.Errors[0].Message );
}
接続エラーの処理の例

次に示すのは Table Viewer サンプル・プロジェクトの例です。アプリケーションがデータベースに接続しようとしたときにエラーが発生した場合、次のコードは、トライ・アンド・キャッチ・ブロックを使用してエラーとそのメッセージを取得します。

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" );

エラー処理例の詳細については、Simple サンプル・プロジェクトの知識Table Viewer サンプル・プロジェクトの知識を参照してください。

エラー処理の詳細については、SAFactory クラスSAError クラスを参照してください。