SQLExecDirect - ステートメントの直接の実行

目的

仕様: DB2 CLI 1.1 ODBC 1.0 ISO CLI

SQLExecDirect() は、指定された SQL ステートメントを直接実行します。 ステートメントは 1 回しか実行できません。

構文

SQLRETURN   SQLExecDirect    (SQLHSTMT          StatementHandle,   /* hstmt */
                              SQLCHAR      *FAR StatementText,     /* szSqlStr */
                              SQLINTEGER        TextLength);       /* cbSqlStr */

関数の引き数

表 44. SQLExecDirect の引き数

データ・タイプ 引き数 用途 説明
SQLHSTMT StatementHandle 入力 ステートメント・ハンドル。
SQLCHAR * StatementText 入力 SQL ステートメント・ストリング。
SQLINTEGER TextLength 入力 StatementText 引き数の内容の長さ。 長さは、ステートメントの正確な長さ 、またはステートメントがヌルで終了している場合は、SQL_NTS に設定する必要がある。

使用法

この SQL ステートメント・ストリングにはパラメーター・マーカーを入れることができません。

戻りコード

SQL ステートメントが検索 UPDATE または検索 DELETE であり、 検索条件を満たす行がない場合には、SQL_NO_DATA_FOUND が戻されます。

診断

表 45. SQLExecDirect の SQLSTATE

SQLSTATE 説明 解説
22003 数値が範囲外。 数値タイプ列に対する数値割り当てによって、割り当て時または中間結果の計算中に、 数値の整数部分の切り捨てが行われた。
42xxx 構文エラーまたはアクセス規則違反。 42xxx SQLSTATE は、ステートメント関連のさまざまな構文またはアクセスに関する問題を示す。xxx は該当するクラス・コードを持つ いずれかの SQLSTATE を示す。例えば、42xxx は 、42 クラスのいずれかの SQLSTATE を示す。
58004 予期しないシステム障害。 回復不能なシステム・エラー。
HY001 メモリーの割り振りの失敗。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーを 割り当てることができない。
HY009 無効な引き数値。 StatementText がヌル・ポインターである。
HY013 予期しないメモリー処理エラー。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーに アクセスできない。
HY014 ハンドル数の限界に到達済み。 内部リソースが原因で、DB2 CLI がハンドルを割り当てることができない。
HY090 無効なストリング長またはバッファー長。 引き数 TextLength が 1 より小さい が、SQL_NTS と等しくない。

制約事項

なし。

関連した解説