仕様: | DB2 CLI 1.1 | ODBC 1.0 | ISO CLI |
SQLExecDirect() は、指定された SQL ステートメントを直接実行します。 ステートメントは 1 回しか実行できません。
構文
SQLRETURN SQLExecDirect (SQLHSTMT StatementHandle, /* hstmt */ SQLCHAR *FAR StatementText, /* szSqlStr */ SQLINTEGER TextLength); /* cbSqlStr */
関数の引き数
データ・タイプ | 引き数 | 用途 | 説明 |
---|---|---|---|
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 と等しくない。 |
制約事項
なし。
関連した解説