SQLGetCursorName - カーソル名の取得

目的

仕様: DB2 CLI 1.1 ODBC 1.0 ISO CLI

SQLGetCursorName() は、入力ステートメント・ハンドルに関連したカーソル名 を戻します。SQLSetCursorName() を呼び出してカーソル名が明示的に設定されている場合は、 この名前が戻されます。そうでない場合は、暗黙的に生成された名前が戻されます。

構文

SQLRETURN   SQLGetCursorName (
                SQLHSTMT          StatementHandle,   /* hstmt */
                SQLCHAR      *FAR CursorName,        /* szCursor */
                SQLSMALLINT       BufferLength,      /* cbCursorMax */
                SQLSMALLINT  *FAR NameLengthPtr);    /* pcbCursor */

関数の引き数

表 64. SQLGetCursorName の引き数

データ・タイプ 引き数 用途 説明
SQLHSTMT StatementHandle 入力 ステートメント・ハンドル。
SQLCHAR * CursorName 出力 カーソル名
SQLSMALLINT BufferLength 入力 バッファー CursorName の長さ
SQLSMALLINT * NameLengthPtr 出力 CursorName の値を戻すことができるバイト数。

使用法

SQLGetCursorName() は、SQLSetCursorName() を使用して 明示的に設定されたカーソル名を戻します。または名前が設定されていない場合には 、DB2 CLI によって内部的に生成されたカーソル名を戻します。

SQLSetCursorName() を使用して名前が明示的に設定されている場合、 このステートメントが除去されるまで、または別の明示的な名前が設定されるまで、 この名前が戻されます。

内部で生成されるカーソル名は常に SQLCUR または SQL_CUR で始まります。 カーソル名は常に 18 文字以下、かつ接続内で固有のものです。

戻りコード

診断

表 65. SQLGetCursorName の SQLSTATE

SQLSTATE 説明 解説
01004 データが切り捨てられた。 CursorName に戻されたカーソル名の長さが BufferLength の値を 超えているため、BufferLength - 1 バイトに切り捨てられる。 引き数 NameLengthPtr に、戻すことができるカーソル名全体の長さが 入る。この関数は SQL_SUCCESS_WITH_INFO を戻す。
40003 08S01 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
58004 予期しないシステム障害。 回復不能なシステム・エラー。
HY001 メモリーの割り振りの失敗。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーを 割り当てることができない。
HY010 関数のシーケンス・エラー。

実行時データ (SQLParamData()SQLPutData()) の操作中に、 関数が呼び出された。

HY013 予期しないメモリー処理エラー。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーに アクセスできない。
HY090 無効なストリング長またはバッファー長。 引き数 BufferLength に指定した値が 0 より小さい。

制約事項

なし。

関連した解説