SQLExecDirect 関数は、SQL 文を準備して実行します。文には、パラメータを指定することもできます。
次のコード・フラグメントは、パラメータを指定しないで文を実行する方法を示します。SQLExecDirect 関数は、ステートメント・ハンドル、SQL 文字列、長さまたは終了インジケータをパラメータに取ります。この場合、終了インジケータは NULL で終了された文字列インジケータです。
この項で説明する手順は単純ですが、柔軟性がありません。アプリケーションでは、ユーザの入力によってこの文を修正できません。より柔軟に文を構成する方法については、バウンド・パラメータを使用した文の実行を参照してください。
SQLAllocHandle を使用して文にハンドルを割り付けます。
たとえば、次の文はハンドル dbc
を使用した接続時に、stmt
という名前の SQL_HANDLE_STMT
型のハンドルを割り付けます。
SQLAllocHandle( SQL_HANDLE_STMT, dbc, &stmt ); |
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』の「 SQLExecDirect」を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |