CLI の手引きおよび解説書

SQLNumParams - SQL ステートメント内のパラメーター数を入手する

目的


仕様: DB2 CLI 2.1 ODBC 1.0  

SQLNumParams() は、 SQL ステートメント内のパラメーター・マーカー数を戻します。

構文

SQLRETURN   SQLNumParams     (SQLHSTMT          StatementHandle,
                              SQLSMALLINT  FAR  *ParameterCountPtr);

関数引き数


表 128. SQLNumParams 引き数
データ・タイプ 引き数 使用法 説明
SQLHSTMT StatementHandle 入力 ステートメント・ハンドル。
SQLSMALLINT * ParameterCountPtr 出力 ステートメント内のパラメーター数。

使用法

この関数は、 StatementHandle に関連したステートメントが準備された後でしか呼び出せません。ステートメントにパラメーター・マーカーが含まれていないと、 ParameterCountPtr が 0 に設定されます。

アプリケーションは、この関数を呼び出して、このステートメント・ハンドルと関連した SQL ステートメント用に必要な SQLBindParameter() (または SQLBindFileToParam()) 呼び出しの数を判別することができます。

戻りコード

診断


表 129. SQLNumParams SQLSTATE
SQLSTATE 説明 解説
40003 08S01 通信リンクに障害が起きました。 アプリケーションとデータ・ソースとの間の通信リンクが、関数の完了する前に失敗しました。
HY001 メモリーの割り振り失敗です。 DB2 CLI は、関数の実行または完了をサポートするのに必要なメモリーを割り振ることができません。
HY008 操作が取り消しになりました。

非同期処理が StatementHandle に対して使用可能になりました。関数が呼び出され、その実行が完了する前に、 SQLCancel()StatementHandle で呼び出されました。そして、関数が再び StatementHandle で呼び出されました。

関数が呼び出され、その実行が完了する前に、 SQLCancel() が複数スレッドのアプリケーション内の別のスレッドから、 StatementHandle で呼び出されました。

HY010 関数の順序エラーです。 指定された StatementHandle について SQLPrepare() を呼び出す前に、この関数を呼び出しました。

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

BEGIN COMPOUND と END COMPOUND の SQL 操作中に、関数が呼び出されました。

HY013 予期しないメモリーのハンドル・エラーが起きました。 DB2 CLI は、関数の実行または完了をサポートするのに必要なメモリーを使用することができませんでした。
HYT00 タイムアウトになりました。 データ・ソースが結果セットを返す前に、タイムアウト期間が満了しました。タイムアウトは、 Windows 3.1 や Macintosh System 7 のようなマルチタスクではないシステム上でのみサポートされています。タイムアウト期間は、 SQLSetConnectAttr() の SQL_ATTR_QUERY_TIMEOUT 属性を使用して設定することができます。

制約

なし。

該当するサンプルの一覧については、 sqllib\samples\cli (または sqllib/samples/cli) サブディレクトリー内の README ファイルを参照してください。

参照


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]