16.6.3 SQLSetDescField,SQLSetDescFieldW
- 〈この項の構成〉
(1) 機能
引数で指定されたディスクリプタフィールドの値を設定します。
(2) 形式
-
SQLSetDescFieldの場合
SQLRETURN SQLSetDescField ( SQLHDESC DescriptorHandle, /* In */ SQLSMALLINT RecNumber, /* In */ SQLSMALLINT FieldIdentifier, /* In */ SQLPOINTER ValuePtr, /* In */ SQLINTEGER BufferLength /* In */ )
-
SQLSetDescFieldWの場合
SQLRETURN SQLSetDescFieldW ( SQLHDESC DescriptorHandle, /* In */ SQLSMALLINT RecNumber, /* In */ SQLSMALLINT FieldIdentifier, /* In */ SQLPOINTER ValuePtr, /* In */ SQLINTEGER BufferLength /* In */ )
(3) 引数
- DescriptorHandle:
-
ディスクリプタハンドルを指定します。
- RecNumber:
-
列番号(ARDまたはIRD),またはパラメタ番号(APDまたはIPD)を指定します。
FieldIdentifierがヘッダフィールドを示す場合,この引数の指定は無視されます。
この引数に該当するレコード番号を持つディスクリプタレコードがない場合,この関数は,そのレコード番号を持つディスクリプタレコードを新しく作成します。
- FieldIdentifier:
-
値を設定するディスクリプタのフィールド(ヘッダフィールドまたはレコードフィールド)を指定します。指定できる属性については,「16.17 SQLGetDescField,SQLGetDescFieldW,SQLSetDescFieldおよびSQLSetDescFieldWに指定できる属性」を参照してください。
- ValuePtr:
-
設定するディスクリプタ情報(ポインタまたは整数値)を指定します。指定できる値については,「16.17 SQLGetDescField,SQLGetDescFieldW,SQLSetDescFieldおよびSQLSetDescFieldWに指定できる属性」を参照してください。
- BufferLength:
-
FieldIdentifierに指定するディスクリプタフィールドのデータ型が,文字列またはバイナリの場合,この引数に*ValuePtrの長さを指定します(単位:バイト長)。それ以外のデータ型の場合,この引数の指定は無視されます。
(4) 戻り値
SQL_SUCCESS,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
01S02 |
オプション値の変更 |
× |
|
07009 |
無効なディスクリプタインデクス |
|
○ |
08S01 |
通信リンク失敗 |
− |
× |
22001 |
文字列データの右側が切り捨てられた |
× |
|
5C002 |
文字コードの変換エラー |
変換できない文字コードを検出しました。 |
○ |
HY001 |
メモリ割り当てエラー |
− |
○ |
HY010 |
関数シーケンスエラー |
この関数を実行する前に,DescriptorHandleが関連づけられているStatementHandleに対して,SQLExecute,SQLExecDirect,SQLExecDirectWまたはSQLParamDataのどれかが呼び出され,SQL_NEED_DATAを返しました。その後,実行時データパラメタまたは実行時データ列の設定が完了していません。 |
○ |
HY013 |
メモリ管理エラー |
− |
× |
HY016 |
インプリメンテーション行ディスクリプタを変更できない |
DescriptorHandleがIRDと関連づけられていますが,FieldIdentifierがSQL_DESC_ARRAY_STATUS_PTRまたはSQL_DESC_ROWS_PROCESSED_PTR以外です。 |
○ |
HY021 |
ディスクリプタ情報の不一致 |
− |
× |
HY090 |
無効な文字列長または無効なバッファ長 |
× |
|
HY091 |
無効なディスクリプタフィールド識別子 |
|
○ |
HY092 |
無効な属性識別子,または無効なオプション識別子 |
|
○ |
HY105 |
無効なパラメタの種類 |
SQL_DESC_PARAMETER_TYPEフィールドに指定された値が無効(SQL_PARAM_INPUT以外)です。 |
○ |
HYT01 |
接続タイムアウト終了 |
− |
× |
IM001 |
ドライバはこの関数をサポートしていない |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。