OLE DB コマンド (SQL Server Compact)
OLE DB では、プロバイダ固有のテキスト コマンドを実行するときにコマンド オブジェクトを使用します。これは SQL ステートメントに類似しています。
コマンドの使用
OLE DB でコマンドを使用する場合の基本的な手順は以下のとおりです。
- IDBCreateCommand::CreateCommand を使用して、既存のセッション オブジェクトからコマンド オブジェクトを作成します。
- クエリのコマンド テキストを ICommandText を使用して指定します。
OLE DB Provider for Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) でサポートされるコマンド構文は、DBGUID_SQL として指定されています。DBGUID_SQL の構文は主に SQL-92 の構文に ODBC エスケープ シーケンスが追加されたものです。 - コマンドを実行するには ICommand::Execute を使用します。
SQL Server Compact 3.5 では、SQL Server Transact-SQL クエリ構文のサブセットがサポートされます。一般的に、SQL Server Compact 3.5 で実行できるクエリは SQL Server でも実行できます。ただし、SQL Server Compact 3.5 では Transact-SQL の機能の多くが除外されており、また、1 コマンドで実行できる SQL ステートメントは 1 つに限られます。
SQL Server Compact 3.5 では、パラメータを疑問符 (?) で区切ったパラメータ化クエリを使用できます。さらに、名前付きのパラメータ化クエリもサポートされます。
SQL Server Compact 3.5 でサポートされるクエリ構文の詳細については、「SQL リファレンス (SQL Server Compact)」を参照してください。
コマンドの準備
クエリを実行するには、その前にデータベース エンジンで SQL ステートメントを解析し、コンパイルし、最適化する必要があります。通常は、この作業を一度完了しておけば、コマンドが何度か実行される場合に時間の節約になります。クライアントでクエリを複数回実行する必要がある場合には、コマンドを 1 回準備し、Execute を複数回呼び出します。これによりクエリを再コンパイルせずに済むため、最大限のパフォーマンスが得られます。実行に先立ってコマンドを準備するには、ICommandPrepare::Prepare を呼び出します。このメソッドは、コマンドのコンパイルに相当します。
例
OLE DB Provider for SQL Server Compact 3.5 を使用したコマンドの作成と実行の例については、「OLE DB パラメータ (SQL Server Compact)」の例を参照してください。