Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere ODBC API » SQL 文の実行

 

文の直接実行

SQLExecDirect 関数は、SQL 文を準備して実行します。文には、パラメータを指定することもできます。

次のコード・フラグメントは、パラメータを指定しないで文を実行する方法を示します。SQLExecDirect 関数は、ステートメント・ハンドル、SQL 文字列、長さまたは終了インジケータをパラメータに取ります。この場合、終了インジケータは NULL で終了された文字列インジケータです。

この項で説明する手順は単純ですが、柔軟性がありません。アプリケーションでは、ユーザの入力によってこの文を修正できません。より柔軟に文を構成する方法については、バウンド・パラメータを使用した文の実行を参照してください。

♦  ODBC アプリケーションで SQL 文を実行するには、次の手順に従います。
  1. SQLAllocHandle を使用して文にハンドルを割り付けます。

    たとえば、次の文はハンドル dbc を使用した接続時に、stmt という名前の SQL_HANDLE_STMT 型のハンドルを割り付けます。

    SQLAllocHandle( SQL_HANDLE_STMT, dbc, &stmt );
  2. SQLExecDirect 関数を呼び出して文を実行します。

    たとえば、次の行は文を宣言して実行します。通常、deletestmt の宣言は関数の先頭で行います。

    SQLCHAR deletestmt[ STMT_LEN ] =
      "DELETE FROM Departments WHERE DepartmentID = 201";
    SQLExecDirect( stmt, deletestmt, SQL_NTS) ;

エラー・チェックを含む完全なサンプルについては、samples-dir\SQLAnywhere\ODBCExecute\odbcexecute.cpp を参照してください。

SQLExecDirect の詳細については、Microsoft の『ODBC Programmer's Reference』の「[external link] SQLExecDirect」を参照してください。