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_SUCCESS,SQL_SUCCESS_WITH_INFO,SQL_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です。

−:なし。