OLE DB コマンド (SQL Server Compact)

OLE DB では、プロバイダー固有のテキスト コマンドを実行するときにコマンド オブジェクトを使用します。これは SQL ステートメントに類似しています。

コマンドの使用

OLE DB でコマンドを使用する場合の基本的な手順は以下のとおりです。

  1. IDBCreateCommand::CreateCommand を使用して、既存のセッション オブジェクトからコマンド オブジェクトを作成します。

  2. クエリのコマンド テキストを ICommandText を使用して指定します。

    OLE DB Provider for MicrosoftSQL Server Compact 3.5 でサポートされるコマンド構文は、DBGUID_SQL として指定されています。DBGUID_SQL の構文は主に SQL-92 の構文に ODBC エスケープ シーケンスが追加されたものです。

  3. コマンドを実行するには ICommand::Execute を使用します。

SQL Server Compact 3.5 では、SQL ServerTransact-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)」の例を参照してください。