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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » ODBC サポート » 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) ;

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

SQLExecDirect の詳細については、[external link] http://msdn.microsoft.com/en-us/library/ms713611.aspxにある Microsoft の『ODBC API Reference』の「SQLExecDirect」を参照してください。