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

SQL Anywhere 11.0.1 (日本語) » Ultra Light - C/C++ プログラミング » API リファレンス » Ultra Light C/C++ 共通 API リファレンス

 

ULRegisterErrorCallback のコールバック関数

Ultra Light ランタイムがアプリケーションに通知するエラーを処理します。

この方法によるエラー処理の詳細については、ULRegisterErrorCallback 関数を参照してください。

構文
ul_error_action UL_GENNED_FN_MOD error-callback-function (
SQLCA * sqlca,
ul_void * user_data,
ul_char * buffer
);
パラメータ
  • error-callback-function   関数の名前。ULRegisterErrorCallback に名前を指定します。

  • sqlca   SQLCA (SQL communications area) へのポインタ。

    SQLCA には、SQL コードが sqlca->sqlcode の形式で含まれています。エラー・パラメータは、すでに SQLCA から取り出され、buffer に格納されています。

    この sqlca ポインタは、アプリケーションの SQLCA を必ずしも指しません。また、Ultra Light へのコールバックに使用することはできません。これは、SQL コードをコールバックに伝達するためにのみ使用します。

    C++ コンポーネントの場合は、Sqlca.GetCA() メソッドを使用します。

  • user_data   ULRegisterErrorCallback に提供されるユーザ・データ。このデータが Ultra Light によって変更されることはありません。コールバック関数はアプリケーション内の任意の位置で通知されるため、user_data 引数がグローバル変数を作成する代替の方法です。

  • buffer   コールバック関数を登録したときに指定されたバッファ。バッファには、エラー・メッセージの代入パラメータを含む文字列が設定されます。Ultra Light をできるだけ小さくするために、Ultra Light では、エラー・メッセージ自体を提供することはありません。代入パラメータは、個々のエラーによって異なります。SQL エラーのエラー・パラメータの詳細については、SQL Anywhere のエラー・メッセージを参照してください。

戻り値

次のいずれかのアクションが返されます。

  • UL_ERROR_ACTION_CANCEL   エラーを引き起こした操作をキャンセルします。

  • UL_ERROR_ACTION_CONTINUE   エラーを引き起こした操作を無視して、実行を続けます。

  • UL_ERROR_ACTION_DEFAULT   エラー・コールバックがない場合と同じように動作します。

  • UL_ERROR_ACTION_TRY_AGAIN   エラーを引き起こした操作をリトライします。

参照