Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.8.5 SQLPutData

〈この項の構成〉

(1) 機能

SQL文の実行時にパラメタのデータをHADB ODBCドライバに送ります。

(2) 形式

SQLRETURN SQLPutData
(
  SQLHSTMT          StatementHandle,    /* In */
  SQLPOINTER        DataPtr,            /* In */
  SQLLEN            StrLen_or_Ind       /* In */
)

(3) 引数

StatementHandle

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

DataPtr

パラメタに対する実際のデータが格納されているバッファを指すポインタを指定します。データは,SQLBindParameterValueTypeで指定されたCデータ型である必要があります。

StrLen_or_Ind
  • SQLBindParameterでCデータ型にSQL_C_CHARまたはSQL_C_BINARYを指定した場合

    *DataPtrの長さ,SQL_NTS,またはSQL_NULL_DATAを指定します。

  • SQLBindParameterでそのほかのCデータ型を指定した場合

    SQL_NULL_DATAを指定します。SQL_NULL_DATA以外が指定された場合,この引数の指定は無視され,HADB ODBCドライバは*DataPtrバッファのサイズをSQLBindParameterValueTypeで指定されたCデータ型と見なします。

(4) 戻り値

SQL_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

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

SQLSTATE

説明

備考

返却

01000

一般警告

×

01004

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

×

07006

データ型属性の制限違反

×

07S01

デフォルトパラメタの不正使用

×

08S01

通信リンク失敗

×

22001

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

×

22003

数値が範囲外である

×

22007

無効な日付時刻形式

×

22008

日付時刻フィールドのオーバフロー

×

22012

ゼロ除算

×

22015

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

×

22018

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

×

HY000

一般エラー

×

HY001

メモリ割り当てエラー

×

HY008

動作がキャンセルされた

×

HY009

NULLポインタの不正使用

DataPtrにNULLポインタが指定されていますが,StrLen_or_Indには0,またはSQL_NULL_DATA以外が指定されています。

HY010

関数シーケンスエラー

SQLParamDataで入力待ち実行時のデータパラメタが取得されていません。

HY013

メモリ管理エラー

×

HY019

文字データとバイナリデータ以外のデータが分割送信された

×

HY020

ナル値の連結を試みた

×

HY090

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

次の条件をすべて満たしています。

  • DataPtrにNULLポインタ以外が指定されています。

  • StrLen_or_Ind0以下の値が指定されています。

  • StrLen_or_IndSQL_NTSまたはSQL_NULL_DATA以外の値が指定されています。

HY117

接続がサスペンド中

×

HYT01

接続タイムアウト終了

×

IM001

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

×

IM017

非同期ポーリングが不正

×

IM018

非同期実行が未完了

×

(凡例)

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

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

−:なし。

(6) 注意事項

次の機能はサポートしていません。