Resync Command 動態屬性 (ADO)
指定使用者提供的命令字串,Resync 方法會發出此字串,以重新整理唯一資料表動態屬性中具名資料表中的資料。
設定和傳回值
設定或傳回 String 值,這是命令字串。
備註
Recordset 物件是在多個基底資料表上執行的 JOIN 作業結果。 受影響的資料列取決於 Resync 方法的 AffectRecords 參數。 如果未設定唯一資料表和重新同步命令屬性,則會執行標準 Resync 方法。
重新同步命令屬性的命令字串是參數化命令或預存程序,可唯一識別要重新整理的資料列,並傳回單一資料列,其中包含的資料行數目和順序與要重新整理的資料列相同。 命令字串包含唯一資料表中每個主索引鍵資料行的參數;否則會傳回執行階段錯誤。 這些參數會自動填入主索引鍵值,其來自要重新整理的資料列。
以下是以 SQL 為基礎的兩個範例:
1) Recordset 是由命令所定義:
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE city = 'Seattle'
ORDER BY CustomerID
重新同步命令屬性設定為:
"SELECT * FROM
(SELECT * FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
city = 'Seattle' ORDER BY CustomerID)
WHERE Orders.OrderID = ?"
唯一資料表是 Orders,而其主索引鍵 OrderID 會參數化。 子選取提供一種簡單方法,以程式設計方式確保資料行的數目和順序與原始命令傳回的數目和順序相同。
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
重新同步命令屬性設定為:
"{call CustordersResync (?)}"
同樣地,唯一資料表 是 Orders,而其主索引鍵 OrderID 會參數化。
當 CursorLocation 屬性設定為 adUseClient 時,重新同步命令是附加至 Recordset 物件 Properties 集合的動態屬性。