クエリの実行 (ODBC)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
ODBC アプリケーションでは、接続ハンドルを初期化してデータ ソースに接続した後、その接続ハンドルに 1 つ以上のステートメント ハンドルを割り当てます。 その後、アプリケーションは、ステートメント ハンドルに対して Microsoft SQL Server ステートメントを実行できます。 SQL ステートメントの実行におけるイベントの一般的なシーケンスは次のとおりです。
必要なステートメント属性を設定します。
ステートメントを構築します。
ステートメントを実行します。
任意の結果セットを取得します。
アプリケーションは、SQL ステートメントから返されたすべての結果セット内にあるすべての行を取得した後、同一ステートメント ハンドルで別のクエリを実行できます。 アプリケーションが特定の結果セット内のすべての行を取得する必要がない場合は、SQLMoreResults または SQLCloseCursor を呼び出すことによって、結果セットの残りの部分を取り消すことができます。
ODBC アプリケーションで、異なるデータで同じ SQL ステートメントを複数回実行する必要がある場合は、SQL ステートメントの構築で疑問符 (?) で示されるパラメーター マーカーを使用します。
INSERT INTO MyTable VALUES (?, ?, ?)
その後、SQLBindParameter を呼び出すことによって、各パラメーター マーカーをプログラム変数にバインドできます。
アプリケーションは、すべての SQL ステートメントの実行と結果セットの処理を完了後、ステートメント ハンドルを解放します。
SQL Server Native Client ODBC ドライバーは、接続ハンドルごとに複数のステートメント ハンドルをサポートしています。 また、トランザクションは接続レベルで管理されます。これにより、1 つの接続ハンドルのすべてのステートメント ハンドルで実行されるすべての作業が、同一のトランザクションの一部として管理されます。