Resync Command 属性 — 动态

指定用户提供的命令字符串,Resync 方法发出该字符串用于刷新在由 Unique Table 动态属性所命名的表中的数据。

设置和返回值

设置或返回字符串,是命令字符串。

说明

Recordset 对象是对多个基本表执行 JION 操作的结果。受影响的行取决于 Resync 方法的 AffectRecords 参数。如果没有设置 Unique TableResync 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 = ?"

Unique TableOrders,其主键 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 (?)}"

又一次,Unique TableOrders,其主键 OrderID 被参数化。

当把 CursorLocation 属性设置为 adUseClient 时,Resync Command 是追加到 Recordset 对象的 Properties 集合的动态属性。

www.holmesian.org