仕様: | DB2 CLI 2.1 | ODBC 1.0 |
SQLNumParams() は、 SQL ステートメント内のパラメーター・マーカー数を戻します。
構文
SQLRETURN SQLNumParams (SQLHSTMT StatementHandle, SQLSMALLINT FAR *ParameterCountPtr);
関数引き数
データ・タイプ | 引き数 | 使用法 | 説明 |
---|---|---|---|
SQLHSTMT | StatementHandle | 入力 | ステートメント・ハンドル。 |
SQLSMALLINT * | ParameterCountPtr | 出力 | ステートメント内のパラメーター数。 |
使用法
この関数は、 StatementHandle に関連したステートメントが準備された後でしか呼び出せません。ステートメントにパラメーター・マーカーが含まれていないと、 ParameterCountPtr が 0 に設定されます。
アプリケーションは、この関数を呼び出して、このステートメント・ハンドルと関連した SQL ステートメント用に必要な SQLBindParameter() (または SQLBindFileToParam()) 呼び出しの数を判別することができます。
戻りコード
診断
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 ファイルを参照してください。
参照