SQLNumParams() - SQL ステートメントのパラメーター数を取得する
SQLNumParams() は、SQL ステートメントにおけるパラメーター・マーカーの数を戻します。
SQLNumParams() の ODBC 仕様
| ODBC 仕様レベル | X/Open CLI CAE 仕様 | ISO CLI 仕様 |
|---|---|---|
| 1.0 | いいえ | いいえ |
構文
SQLRETURN SQLNumParams (SQLHSTMT hstmt,
SQLSMALLINT FAR *pcpar);関数引数
次の表は、この関数のそれぞれの引数ごとに、 データ・タイプ、用途、および説明を示しています。
| データ・タイプ | 引数 | 使用 | 説明 |
|---|---|---|---|
| SQLHSTMT | hstmt | input | ステートメント・ハンドルを指定します。 |
| SQLSMALLINT * | pcpar | 出力 | ステートメントにおけるパラメーターの個数を戻すバッファーを指します。 |
使用法
この関数を呼び出して、あるステートメント・ハンドルに関連した SQL ステートメントに必要な SQLBindParameter() 呼び出し数を判別することができます。
この関数は、引数 hstmt に関連したステートメントを準備した後でのみ、 呼び出すことができます。 ステートメントにパラメーター・マーカーが何も含まれていない場合は、 引数 pcpar が指すバッファーは 0 に設定されます。
戻りコード
SQLNumParams() は、呼び出された後、次のいずれかの値を戻します。- SQL_SUCCESS
- SQL_ERROR
- SQL_INVALID_HANDLE
診断
次の表は、この関数が生成する各 SQLSTATE 値ごとに、 その記述と説明を一覧で記載してあります。
| SQLSTATE | 説明 | 説明 |
|---|---|---|
| 08S01 | 通信リンク障害が発生しました。 | 関数が完了する前に、アプリケーションとデータ・ソース間の 通信リンクで障害が発生しました。 |
| HY001 | メモリーの割り振りが失敗しました。 | DB2 ODBC は、関数の実行または完了をサポートするのに必要なメモリーを割り振ることができません。 |
| HY009 | NULL ポインターの使用が無効です。 | 引数 pcpar が NULL ポインターを指定しています。 |
| HY010 | 関数のシーケンス・エラーです。 | 次の 1 つ以上の理由に該当した場合に、この SQLSTATE が戻されます。
|
| HY013 | 予期しない、メモリーのハンドル・エラーです。 | DB2 ODBC は、関数の実行または完了をサポートするのに必要なメモリーにアクセスすることができません。 |
例
変換されたベンダー・エスケープ文節を印刷するアプリケーションについての関連例については、関数 SQLNativeSql() を参照してください。