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:
-
パラメタに対する実際のデータが格納されているバッファを指すポインタを指定します。データは,SQLBindParameterのValueTypeで指定された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バッファのサイズをSQLBindParameterのValueTypeで指定されたCデータ型と見なします。
-
(4) 戻り値
SQL_SUCCESS,SQL_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 |
無効な文字列長または無効なバッファ長 |
次の条件をすべて満たしています。
|
○ |
HY117 |
接続がサスペンド中 |
− |
× |
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
|
IM017 |
非同期ポーリングが不正 |
× |
|
IM018 |
非同期実行が未完了 |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。
(6) 注意事項
次の機能はサポートしていません。
-
列のデータ対応
-
分割送信