SQLExecute - ステートメントの実行

目的


仕様: DB2 CLI 1.1 ODBC 1.0 ISO CLI

SQLExecute() は、SQLPrepare() を使用して正常に準備され たステートメントを、1 回または複数回実行します。ステートメントは 、SQLBindParameter() によってパラメーター・マーカーにバインド されたアプリケーション変数の現行値を使用して実行されます。

構文

SQLRETURN   SQLExecute       (SQLHSTMT          StatementHandle);  /* hstmt */

関数の引き数

表 46. SQLExecute の引き数

データ・タイプ 引き数 用途 説明
SQLHSTMT StatementHandle 入力 ステートメント・ハンドル。

使用法

SQL ステートメント・ストリングにはパラメーター・マーカーが含まれている場合があります。 パラメーター・マーカーは ? 文字によって表され、SQLExecute() の呼び出し時に、 アプリケーション提供の値が置き換えられる、ステートメント内の位置を示すために使用されます。 この値は、アプリケーション変数から入手することができます。 アプリケーションのストレージ域をパラメーター・マーカーにバインドするには、SQLBindParameter() を使用します。

SQLExecute() を呼び出す前に、すべてのパラメーターをバインドする必要 があります。

SQLExecute() 呼び出しの結果を処理した後、アプリケーションは 新規 (または同じ) パラメーター値を使って、そのステートメントを再度実行することが できます。

SQLExecDirect() によって実行したステートメントは、SQLExecute() を呼び出しても 再実行できません。SQLPrepare() を最初に呼び出す必要があります。

結果セットが生成されている場合、SQLFetch() は、データの次の行を取り出して バインド変数に入れます。データは、バインドされていない列に関し て SQLGetData() を呼び出すことによっても取り出すことができます。

戻りコード

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

診断

SQLExecute() に関する SQLSTATE には、HY009 と HY090 以外の、SQLExecDirect() に関する すべての SQLSTATE (表 45 を参照) が含まれます。 また、表 47 の SQLSTATE も含まれます。

表 47. SQLExecute の SQLSTATE

SQLSTATE 説明 解説
HY010 関数のシーケンス・エラー。 指定した StatementHandle が準備済み状態ではない。 最初に SQLPrepare() を呼び出さないで、SQLExecute() を呼び出した。
08004 アプリケーション・サーバーが接続をリジェクトした。 データ・ソースへの接続に使用するユーザー名またはパスワードが正しくない。
08S01 通信リンク障害。 関数の完了前に、アプリケーションとデータ・ソース間の通信リンクに障害が生じた。
39001 ユーザー定義関数が無効な SQLSTATE を戻した。 ユーザー定義関数が無効な SQLSTATE を戻した。
59101 ユーザーが定義されていない。 ユーザーがモバイル・デバイス管理センター制御データベースに定義されていない。
59102 パスワードが正しくない。 ユーザー・パスワードがモバイル・デバイス管理センターに定義されているパスワードと一致しない。
59103 グループが定義されていない。 グループがモバイル・デバイス管理センターに定義されていない。
59104 アプリケーションが定義されていない。 アプリケーションがモバイル・デバイス管理センターに定義されていない。
59105 サブスクリプションが定義されていない。 「AgentAdapter」を使用するサブスクリプションがモバイル・デバイス管理センターに定義されていない。
59106 サブスクリプションが完了していない。 サブスクリプションが、リモート・ストアード・プロシージャーを起動するために必要なすべての情報を 保有していない。
59120 XML 変換エラー。 ユーザー入力データを XML 文書に変換するときに、AgentAdapter が失敗した。
59121 AgentAdapter の一般エラー。 AgentAdapter の一般エラー。
59122 ライブラリーのロードが失敗した。 必須ライブラリーのいくつかが、システムで見つからない。
HY501 DataSource 名が無効。 指定されたデータ・ソース名が無効。

制約事項

なし。

関連した解説