指定用戶提供的命令字符串,Resync 方法發(fā)出該字符串用于刷新在由 Unique Table 動(dòng)態(tài)屬性所命名的表中的數(shù)據(jù)。
設(shè)置和返回值
設(shè)置或返回字符串,是命令字符串。
說明
Recordset 對象是對多個(gè)基本表執(zhí)行 JION 操作的結(jié)果。受影響的行取決于 Resync 方法的 AffectRecords 參數(shù)。如果沒有設(shè)置 Unique Table 和 Resync Command 屬性,將執(zhí)行標(biāo)準(zhǔn)的 Resync 方法。
Resync Command 屬性的命令字符串是唯一標(biāo)識正在被刷新的行的參數(shù)化命令或存儲過程,并返回包含相同列的數(shù)目和順序的單個(gè)行作為要刷新的行。命令字符串包含在 Unique Table 中每個(gè)主鍵列的參數(shù),否則將返回運(yùn)行時(shí)錯(cuò)誤。參數(shù)將以要刷新行的主鍵值自動(dòng)填充。
兩個(gè)基于 SQL 的范例如下:
1) Recordset 由命令定義:
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE city = ‘Seattle’
ORDER BY CustomerID
Resync Command 屬性設(shè)置為:
"SELECT * FROM
(SELECT * FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
city = ‘Seattle’ ORDER BY CustomerID)
WHERE Orders.OrderID = ?"
Unique Table 為 Orders,其主鍵 OrderID 被參數(shù)化。子選擇提供簡單的方法,在程序中確保返回的列具有與使用原始命令相同的數(shù)目和順序。
2) Recordset 由存儲過程定義:
CREATE PROC Custorders @CustomerID char(5) AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Customers.CustomerID = @CustomerID
Resync 方法應(yīng)該執(zhí)行如下存儲過程:
CREATE PROC CustordersResync @ordid int AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Orders.ordid = @ordid
Resync Command 屬性設(shè)置為:
"{call CustordersResync (?)}"
又一次,Unique Table 為 Orders,其主鍵 OrderID 被參數(shù)化。
當(dāng)把 CursorLocation 屬性設(shè)置為 adUseClient 時(shí),Resync Command 是追加到 Recordset 對象的 Properties 集合的動(dòng)態(tài)屬性。