16.8.4 SQLParamData
- 〈この項の構成〉
(1) 機能
SQLPutDataとこの関数を一緒に使用すると,SQL文の実行時,SQLExecute,SQLExecDirectまたはSQLExecDirectW実行後にパラメタデータを送信します。
(2) 形式
SQLRETURN SQLParamData ( SQLHSTMT StatementHandle, /* In */ SQLPOINTER * ValuePtrPtr /* Out */ )
(3) 引数
- StatementHandle:
-
ステートメントハンドルを指定します。
この関数を実行する前にSQLAllocHandleの*OutputHandlePtrで出力された値を指定します。
- ValuePtrPtr:
-
SQL文のパラメタデータの設定先を指すポインタが返されます。
有効な値が返されるのは,戻り値がSQL_NEED_DATAのときだけです。
また,この値はSQLBindParameterのParameterValuePtrの値,またはSQLBindColのTargetValuePtrの値と同じ値であり,ディスクリプタレコードのSQL_DESC_DATA_PTRフィールドに指定されたものと同じ値です。
(4) 戻り値
SQL_SUCCESS,SQL_SUCCESS_WITH_INFO,SQL_NO_DATA,SQL_NEED_DATA,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
01004 |
文字列データの右側が切り捨てられた |
○ |
|
07002 |
COUNTフィールドが不正 |
SQLBindParameterに指定されたパラメタの数が?パラメタの数と不一致です。 |
○ |
07006 |
データ型属性の制限違反 |
− |
× |
08003 |
接続が存在しない |
○ |
|
08S01 |
通信リンク失敗 |
× |
|
22001 |
文字列データの右側が切り捨てられた |
○ |
|
22003 |
数値が範囲外である |
○ |
|
22007 |
無効な日付時刻形式 |
○ |
|
22008 |
日付時刻フィールドのオーバフロー |
○ |
|
22018 |
キャスト指定に対する無効な文字値 |
○ |
|
22026 |
文字列データの長さが一致しない |
× |
|
40001 |
直列化の失敗 |
× |
|
40003 |
ステートメントの完了が不明 |
× |
|
5C002 |
文字コードの変換エラー |
変換できない文字コードを検出しました。 |
○ |
5C036 |
データ変換エラー |
設定要求があった入力データの指定内容が誤っています。 |
○ |
5C041 |
データ型未サポートエラー |
ドライバは指定されたデータ型をサポートしていません。 |
○ |
HY000 |
一般エラー |
− |
× |
HY001 |
メモリ割り当てエラー |
○ |
|
HY003 |
無効なCデータ型 |
○ |
|
HY004 |
無効なSQLデータ型 |
○ |
|
HY008 |
動作がキャンセルされた |
× |
|
HY009 |
NULLポインタの不正使用 |
ParameterCountPtrにNULLが指定されています。 |
○ |
HY010 |
関数シーケンスエラー |
− |
○ |
HY013 |
メモリ管理エラー |
○ |
|
HY014 |
無効な精度または無効なスケール値 |
○ |
|
HY090 |
無効な文字列長または無効なバッファ長 |
○ |
|
HY104 |
無効な精度または無効なスケール値 |
○ |
|
HY117 |
接続がサスペンド中 |
× |
|
HYC00 |
オプション機能は実装されていない |
○ |
|
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
|
IM017 |
非同期ポーリングが不正 |
× |
|
IM018 |
非同期実行が未完了 |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。