Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.9.6 SQLFetch

〈この項の構成〉

(1) 機能

結果セットから次の行セットのデータをフェッチし,SQLBindColで関連づけられたすべての列にデータを返します。

(2) 形式

SQLRETURN SQLFetch
(
  SQLHSTMT          StatementHandle    /* In */
)

(3) 引数

StatementHandle:

ステートメントハンドルを指定します。

(4) 戻り値

SQL_SUCCESS,SQL_SUCCESS_WITH_INFO,SQL_NO_DATA,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

この関数では次のSQLSTATEを返します。

SQLSTATE

説明

備考

返却

01000

一般警告

−

×

01004

文字列データの右側が切り捨てられた

列に返された文字列またはバイナリのデータで,空白以外の文字またはNULL以外のバイナリデータが切り捨てられました。文字列の値は,その右側が切り捨てられました。

○

01S01

行のエラー

1つ以上の行のフェッチでエラーが発生しました。

×

01S07

小数点以下切り捨て

数値の小数部分が切り捨てられました。時刻部分を含む時刻,タイムスタンプまたは間隔データ型の場合,時刻の小数部分が切り捨てられました。このとき,SQL_SUCCESS_WITH_INFOを返します。

○

01S51

文字コード変換時に置き換えが発生した

変換できない文字コードを検出し,指定の文字に置き換えました。このとき,SQL_SUCCESS_WITH_INFOを返します。

○

07006

データ型属性の制限違反

結果セットの列のデータ値をSQLBindColのTargetTypeで指定されたデータ型に変換できません。

○

07009

無効なディスクリプタインデクス

−

○

08S01

通信リンク失敗

×

22001

文字列データの右側が切り捨てられた

×

22002

必要な標識変数が提供されない

次のどちらかがNULLポインタである列に,NULLデータがフェッチされました。

  • SQLBindColによって設定されたStrLen_or_IndPtr

  • SQLSetDescField,SQLSetDescFieldW,SQLSetDescRecまたはSQLSetDescRecWのどれかによって設定されたSQL_DESC_INDICATOR_PTR

○

22003

数値が範囲外である

数値(数値または文字列)の整数部分が削除されました。

○

22007

無効な日付時刻形式

文字の列が日付,時刻またはタイムスタンプのCの構造体にバインドされましたが,列の値が無効な日付,時刻,またはタイムスタンプです。

○

22012

ゼロ除算

ゼロ除算が行われた算術式の値が返されました。

×

22015

間隔フィールドのオーバフロー

−

×

22018

キャスト指定に対する無効な文字値

○

24000

無効なカーソル状態

StatementHandleは実行状態ですが,関連する結果セットがありません。

○

40001

直列化の失敗

−

×

40003

ステートメントの完了が不明

×

5C002

文字コード変換エラー

○

5C037

データフォーマットエラー

○

5C038

データ変換エラー

取得した結果データまたは受け取り領域の指定内容のどちらかに誤りがあります。

○

HY000

一般エラー

−

×

HY001

メモリ割り当てエラー

HADB ODBCドライバは,関数の実行または完了をサポートする必要なメモリを割り当てられていません。

×

HY003

無効なアプリケーションのバッファのデータ型

SQLBindColによって設定されたCデータ型が不正なデータ型です。

○

HY008

動作がキャンセルされた

−

×

HY009

NULLポインタの不正使用

○

HY010

関数シーケンスエラー

○

HY013

メモリ管理エラー

○

HY090

無効な文字列長または無効なバッファ長

○

HY104

無効な精度または無効なスケール値

○

HY107

行の値が範囲外である

×

HYC00

オプション機能は実装されていない

HADB ODBCドライバまたはHADBサーバは,SQLBindColのTargetTypeと対応する列のSQLデータ型の組み合わせで指定される変換をサポートしていません。

○

HYT01

接続タイムアウト終了

−

×

IM001

ドライバはこの関数をサポートしていない

×

(凡例)

○:HADB ODBCドライバが返すことがあるSQLSTATEです。

×:HADB ODBCドライバが返さないSQLSTATEです。

−:なし。

(6) 注意事項

行ステータス配列に対して行ステータスを返却する機能はサポートしていません。