OLE DB 行セット (SQL Server Compact)
行セットは、OLE DB コンポーネントが表形式でデータを表し、変更できるようにするための中心的役割を果たすオブジェクトです。行セット オブジェクトは、行の集まりを表し、各行は列にデータを格納しています。OLE DB Provider for Microsoft SQL Server Compact 3.5 では、ICommand::Execute がデータを返したとき、または IOpenRowset::OpenRowset を直接呼び出したときに、行セット オブジェクトが作成されます。
行セットの使用
SQL Server Compact 3.5 における行セットの扱いについては、以下の点に留意してください。
SQL Server Compact 3.5 では一度に 1 行しか取得できません。順番に行を取得するには、IRowset::GetNextRows(NULL, 0, 1...) を呼び出します。特定の行を取得するには、IRowset::GetNextRows を呼び出すときに行番号を指定します。
行セットは、スクロール可能に設定できます。行セットがスクロール可能である場合は、IRowset::GetNextRows(NULL, -1, 1...) を指定できます。
行セットは、従属する内部リソースがなくなると、トランザクションが中止されるため、ゾンビ状態になることがあります。
OLE DB Provider for SQL Server Compact 3.5 では、"値渡し" のデータ バインドはサポートされますが、"参照渡し" のデータ バインドはサポートされません。
SQL Server Compact 3.5 は、新しい行を挿入するとき、常に計算列の値を返します。これによってクライアントは、この情報を直ちに取得できます。これにより、行がデータ ストアにコミットされる前でも、クライアントは新しい行のすべての ID 列の値を参照できます。したがって、DBPROP_SERVERDATAONINSERT の値は必ず VARIANT_TRUE でなければなりません。
また、行セットでサポートできる各種インターフェイスに対応するその他のプロパティがあります。最終的なインターフェイスとして使用するインターフェイスをプロパティのメカニズムを通じてクライアントが要求しない場合、選択されたカーソル タイプが実際にその機能をサポートしていても、そのクライアントは必ずしもこれらのインターフェイスにアクセスできるわけではありません。詳細については、「行セットのプロパティ (OLE DB)」を参照してください。
行セットを使用するときは、数々の要因によって処理の効率が影響を受けます。詳細については、「効率的な OLE DB 行セットの使用」を参照してください。