次の方法で共有


Resync Command プロパティ - 動的 (ADO)

Unique Table 動的プロパティで指定されているテーブルのデータを更新するために Resync メソッドから発行されるユーザー指定のコマンド文字列を指定します。

設定と戻り値

コマンド文字列である String 値を設定するか、返します。

注釈

Recordset オブジェクトは、複数のベース テーブルで実行される JOIN 操作の結果です。 影響を受ける行は、Resync メソッドの AffectRecords パラメーターに依存します。 標準の Resync メソッドは、Unique Table プロパティや Resync Command プロパティが設定されていない場合に実行されます。

Resync Command プロパティのコマンド文字列は、更新される行を一意に識別するパラメーター化されたコマンドまたはストアド プロシージャであり、更新される行と同じ数と列の順序を含む 1 つの行を返します。 コマンド文字列には、一意のテーブル内の各主キー列のパラメーターが含まれます。含まれない場合、実行時エラーが返されます。 パラメーターには、更新される行の主キー値が自動的に入力されます。

SQL に基づく 2 つの例を次に示します。

1) Recordset はコマンドによって定義されます。

SELECT * FROM Customers JOIN Orders ON   
   Customers.CustomerID = Orders.CustomerID  
   WHERE city = 'Seattle'  
   ORDER BY CustomerID  

Resync Command プロパティは次に設定されます。

"SELECT * FROM   
   (SELECT * FROM Customers JOIN Orders   
   ON Customers.CustomerID = Orders.CustomerID  
   city = 'Seattle' ORDER BY CustomerID)  
WHERE Orders.OrderID = ?"  

一意のテーブルOrders であり、その主キー OrderID はパラメーター化されます。 sub-select は、元のコマンドと同じ数と列の順序をプログラミングで返す簡単な方法です。

2) Recordset はストアド プロシージャによって定義されます。

CREATE PROC Custorders @CustomerID char(5) AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID   
WHERE Customers.CustomerID = @CustomerID  

Resync メソッドでは、次のストアド プロシージャを実行する必要があります。

CREATE PROC CustordersResync @ordid int AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID  
WHERE Orders.ordid  = @ordid  

Resync Command プロパティは次に設定されます。

"{call CustordersResync (?)}"  

繰り返しになりますが、一意のテーブルOrders であり、その主キー OrderID はパラメーター化されます。

Resync Command は、CursorLocation プロパティが adUseClient に設定されている場合に、Recordset オブジェクトの Properties コレクションに追加される動的プロパティです。

適用対象

Recordset オブジェクト (ADO)