Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.9.3 SQLDescribeCol,SQLDescribeColW

〈この項の構成〉

(1) 機能

SQLPrepareの実行によって得られた,結果セットの列の情報を返します。この情報は,IRDのフィールドに設定されているものです。

(2) 形式

(3) 引数

StatementHandle

ステートメントハンドルを指定します。

ColumnNumber

結果データの列番号を指定します。

ColumnName

列名を返すバッファへのポインタを指定します。検索結果列の名称については,マニュアルHADB SQLリファレンスSELECT文の指定形式および規則規則を参照してください。

BufferLength

*ColumnNameバッファの長さを指定します。この長さにNULL終端文字は含まれます。SQL_NTSは指定できません。

NameLengthPtr

*ColumnNameに設定される値の有効な長さの合計を格納するバッファへのポインタを指定します。この長さにNULL終端文字は含まれません。

重要

ここに格納された*ColumnNameの列名の長さが,BufferLengthからNULL終端文字分を引いた長さより大きい場合,ColumnNameに格納される文字列はBufferLengthからNULL終端文字分を引いた長さに切り捨てられ,末尾にNULL終端文字が付加されます。

DataTypePtr

列のSQLデータ型を返すバッファへのポインタを指定します。データ型が不明な場合,SQL_C_DEFAULTが返されます。

ColumnSizePtr

データソースの列のサイズを返すバッファへのポインタを指定します。列のサイズが不明な場合,0が返されます。

DecimalDigitsPtr

データソースの列の小数の桁数を返すバッファへのポインタを指定します。小数の桁数が不明,または適用されない場合,0が返されます。

NullablePtr

列がナル値を受け付けるかどうかを示す値を返すバッファへのポインタを指定します。次の値が返されます。

  • SQL_NO_NULLS

    列はナル値を受け付けません。

  • SQL_NULLABLE

    列はナル値を受け付けます。

注※

長さの単位は,SQLDescribeColの場合はバイト長,SQLDescribeColWの場合は文字数となります。

(4) 戻り値

SQL_SUCCESSSQL_SUCCESS_WITH_INFOSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

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

SQLSTATE

説明

備考

返却

01000

一般警告

×

01004

文字列データの右側が切り捨てられた

01S51

文字コード変換時に置き換えが発生した

変換できない文字コードを検出し,指定の文字に置き換えました。このとき,SQL_SUCCESS_WITH_INFOを返します。

07005

準備されたステートメントがcursor-specificationではない

07009

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

08S01

通信リンク失敗

×

24000

無効なカーソル状態

HY000

一般エラー

×

HY001

メモリ割り当てエラー

×

HY008

動作がキャンセルされた

×

HY010

関数シーケンスエラー

HY013

メモリ管理エラー

×

HY090

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

BufferLengthに無効な値(SQL_NTS)が指定されました。

HYT01

接続タイムアウト終了

×

IM001

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

×

(凡例)

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

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

−:なし。