重新同步命令 Property-Dynamic (ADO)
指定使用者提供的命令字串,Resync 方法會發出問題,以重新整理 Unique Table 動態屬性中名為 的數據表中的數據。
設定和傳回值
會設定或傳回 String 值,這是命令字串。
言論
Recordset 物件是多個基表上執行的 JOIN 作業結果。 受影響的數據列取決於 Resync 方法的 AffectRecords 參數。 如果未設定 唯一數據表 和 Resync Command 屬性,則會執行標準 Resync 方法。
Resync Command 屬性的命令字串是參數化命令或預存程式,可唯一識別要重新整理的數據列,並傳回包含與要重新整理之數據列相同的數據行數目和順序的單一數據列。 命令字串包含 Unique Table中每個主鍵數據行的參數;否則會傳回運行時錯誤。 參數會自動填入要重新整理之數據列的主鍵值。
以下是以 SQL 為基礎的兩個範例:
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參數化。 子選取提供簡單的方法,以程式設計方式確保原始命令所傳回的數據行數目和順序相同。
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參數化。
當 cursorLocation 属性 設定為 adUseClient時,Resync Command 是附加至 recordset Recordset 物件 Properties 集合 中的動態屬性。