CRecordset::CheckRowsetError
更新 : 2007 年 11 月
レコードのフェッチにおいて発生したエラーを処理します。
virtual void CheckRowsetError(
RETCODE nRetCode
);
パラメータ
- nRetCode
ODBC API 関数の戻り値。詳細については、「解説」を参照してください。
解説
この仮想メンバ関数は、レコードがフェッチされたときに発生したエラーを処理します。バルク行フェッチにおいて特に便利です。独自のエラー処理を実装するには、CheckRowsetError をオーバーライドします。
CheckRowsetError は、Open、Requery やいずれかの 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::DoBulkFieldExchange