Hitachi

Hitachi Advanced Data Binder AP開発ガイド


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_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

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

SQLSTATE

説明

備考

返却

01000

一般警告

×

07009

無効なディスクリプタインデクス

  • RecNumberが,データソースがサポートしている列の最大個数またはパラメタの最大個数より大きく,DescriptorHandleがARD,APDまたはIPDと関連づけられています。

  • RecNumberに0以下の値が指定されています。

08S01

通信リンク失敗

×

HY000

一般エラー

×

HY001

メモリ割り当てエラー

HY010

関数シーケンスエラー

この関数を実行する前に,DescriptorHandleが関連づけられているStatementHandleに対して,SQLExecuteSQLExecDirectSQLExecDirectWまたはSQLParamDataのどれかが呼び出され,SQL_NEED_DATAを返しました。その後,実行時データパラメタまたは実行時データ列の設定が完了していません。

HY013

メモリ管理エラー

×

HY016

インプリメンテーション行ディスクリプタを変更できない

DescriptorHandleがIRDと関連づけられています。

HY021

ディスクリプタ情報の不一致

HY090

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

×

HYT01

接続タイムアウト終了

×

IM001

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

×

(凡例)

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

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

−:なし。