次の方法で共有


CRecordset::CheckRowsetError

更新 : 2007 年 11 月

レコードのフェッチにおいて発生したエラーを処理します。

virtual void CheckRowsetError( 
   RETCODE nRetCode  
);

パラメータ

  • nRetCode
    ODBC API 関数の戻り値。詳細については、「解説」を参照してください。

解説

この仮想メンバ関数は、レコードがフェッチされたときに発生したエラーを処理します。バルク行フェッチにおいて特に便利です。独自のエラー処理を実装するには、CheckRowsetError をオーバーライドします。

CheckRowsetError は、OpenRequery やいずれかの Move 操作などのカーソル移動操作から自動的に呼び出されます。ODBC API 関数の SQLExtendedFetch の戻り値が渡されます。nRetCode パラメータとして使用できる値の一覧を次の表に示します。

nRetCode

説明

SQL_SUCCESS

関数は正常に終了しました。これ以上の情報は存在しません。

SQL_SUCCESS_WITH_INFO

関数は重大なエラーを起こさず正常に終了しました。SQLError を呼び出すことによって追加情報を取得できます。

SQL_NO_DATA_FOUND

結果セットのすべての行がフェッチされました。

SQL_ERROR

関数は失敗しました。SQLError を呼び出すことによって追加情報を取得できます。

SQL_INVALID_HANDLE

環境ハンドル、接続ハンドル、またはステートメント ハンドルが不正なために関数が失敗しました。これはプログラミング エラーです。SQLError から追加情報を取得することはできません。

SQL_STILL_EXECUTING

非同期に開始された関数がまだ実行中です。既定では、MFC はこの値を CheckRowsetError に渡すことはありません。MFC は、SQL_STILL_EXECUTING を返さなくなるまで SQLExtendedFetch を呼び出し続けます。

SQLError の詳細については、Windows SDK を参照してください。バルク行フェッチの詳細については、「レコードセット : バルク行フェッチ (ODBC)」を参照してください。

例外

このメソッドは、CDBException* 型の例外をスローできます。

必要条件

ヘッダー : afxdb.h

参照

参照

CRecordset クラス

階層図

CRecordset::DoBulkFieldExchange

CRecordset::GetRowsetSize

CRecordset::SetRowsetSize

CRecordset::Move

その他の技術情報

CRecordset のメンバ