16.7.4 SQLSetCursorName,SQLSetCursorNameW
(1) 機能
カーソル名をアクティブなステートメントハンドルに関連づけます。アプリケーションがこの関数を呼び出さない場合,HADB ODBCドライバがカーソル名を生成します。
(2) 形式
-
SQLSetCursorNameの場合
SQLRETURN SQLSetCursorName ( SQLHSTMT StatementHandle, /* In */ SQLCHAR * CursorName, /* In */ SQLSMALLINT NameLength /* In */ )
-
SQLSetCursorNameWの場合
SQLRETURN SQLSetCursorName ( SQLHSTMT StatementHandle, /* In */ SQLWCHAR * CursorName, /* In */ SQLSMALLINT NameLength /* In */ )
(3) 引数
- StatementHandle:
-
ステートメントハンドルを指定します。
- CursorName:
-
関連づけるカーソルの名称を指定します。
- NameLength:
-
*CursorNameの長さを指定します(単位:SQLSetCursorNameの場合はバイト長,SQLSetCursorNameWの場合は文字数)。
CursorNameに指定した文字列がNULL終端文字を保証している場合,SQL_NTSを指定できます。
(4) 戻り値
SQL_SUCCESS,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
01004 |
文字列データの右側が切り捨てられた |
× |
|
24000 |
無効なカーソル状態 |
StatementHandleに関連づけられたステートメントは,すでに実行状態またはカーソルが位置づけられた状態です。 |
○ |
34000 |
無効なカーソル名 |
|
○ |
3C000 |
カーソル名の重複 |
*CursorNameに指定されたカーソル名はすでに存在しています。 |
○ |
5C002 |
文字コードの変換エラー |
変換できない文字コードを検出しました。 |
○ |
HY000 |
一般エラー |
− |
× |
HY001 |
メモリ割り当てエラー |
× |
|
HY009 |
NULLポインタの不正使用 |
CursorNameがNULLポインタです。 |
○ |
HY010 |
関数シーケンスエラー |
− |
○ |
HY013 |
メモリ管理エラー |
メモリオブジェクトにアクセスできないため,関数の呼び出しを処理できません。 |
× |
HY090 |
無効な文字列長または無効なバッファ長 |
NameLengthに0以下かつSQL_NTS以外の値が指定されています。 |
○ |
HYT01 |
接続タイムアウト終了 |
データソースが要求に応答する前に接続タイムアウト時間が経過しました。接続タイムアウト時間は,SQLSetConnectAttrまたはSQLSetConnectAttrWのSQL_ATTR_CONNECTION_TIMEOUTで設定できます。 |
× |
IM001 |
ドライバはこの関数をサポートしていない |
− |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。
(6) 注意事項
この関数で設定したカーソル名を使用する場合は,マイクロソフト社が提供するカーソルライブラリを使用してください。マイクロソフト社が提供するカーソルライブラリを使用しない場合,HADB ODBCドライバは設定されたカーソル名を無視します。