16.6.4 SQLSetDescRec
- 〈この項の構成〉
(1) 機能
同一ディスクリプタレコード内の複数ディスクリプタレコードフィールドに値を設定します。
(2) 形式
SQLRETURN SQLSetDescRec ( SQLHDESC DescriptorHandle, /* In */ SQLSMALLINT RecNumber, /* In */ SQLSMALLINT Type, /* In */ SQLSMALLINT SubType, /* In */ SQLLEN Length, /* In */ SQLSMALLINT Precision, /* In */ SQLSMALLINT Scale, /* In */ SQLPOINTER DataPtr, /* Deferred In */ SQLLEN * StringLengthPtr, /* Deferred In */ SQLLEN * IndicatorPtr /* Deferred In */ )
(3) 引数
- DescriptorHandle:
-
ディスクリプタハンドルを指定します。IRDのハンドルは指定できません。
- RecNumber:
-
列番号(ARDまたはIRD),またはパラメタ番号(APDまたはIPD)を指定します。
この引数に該当するレコード番号を持つディスクリプタレコードがない場合,この関数は,そのレコード番号を持つディスクリプタレコードを新しく作成します。
- Type:
-
ディスクリプタレコードのSQL_DESC_TYPEフィールドに設定する値を指定します。
- SubType:
-
ディスクリプタレコードのSQL_DESC_DATETIME_INTERVAL_CODEフィールドに設定する値を指定します。
- Length:
-
ディスクリプタレコードのSQL_DESC_OCTET_LENGTHフィールドに設定する値を指定します。
- Precision:
-
ディスクリプタレコードのSQL_DESC_PRECISIONフィールドに設定する値を指定します。
- Scale:
-
ディスクリプタレコードのSQL_DESC_SCALEフィールドに設定する値を指定します。
- DataPtr:
-
ディスクリプタレコードのSQL_DESC_DATA_PTRフィールドに設定する値を指定します。
- StringLengthPtr:
-
ディスクリプタレコードのSQL_DESC_OCTET_LENGTH_PTRフィールドに設定する値を指定します。
- IndicatorPtr:
-
ディスクリプタレコードのSQL_DESC_INDICATOR_PTRフィールドに設定する値を指定します。
(4) 戻り値
SQL_SUCCESS,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
07009 |
無効なディスクリプタインデクス |
|
○ |
08S01 |
通信リンク失敗 |
− |
× |
HY000 |
一般エラー |
× |
|
HY001 |
メモリ割り当てエラー |
○ |
|
HY010 |
関数シーケンスエラー |
この関数を実行する前に,DescriptorHandleが関連づけられているStatementHandleに対して,SQLExecute,SQLExecDirect,SQLExecDirectWまたはSQLParamDataのどれかが呼び出され,SQL_NEED_DATAを返しました。その後,実行時データパラメタまたは実行時データ列の設定が完了していません。 |
○ |
HY013 |
メモリ管理エラー |
− |
× |
HY016 |
インプリメンテーション行ディスクリプタを変更できない |
DescriptorHandleがIRDと関連づけられています。 |
○ |
HY021 |
ディスクリプタ情報の不一致 |
− |
○ |
HY090 |
無効な文字列長または無効なバッファ長 |
× |
|
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。