0

我有一个带有数据网格的 adodc 对象,以便在 vb6 中有一个可编辑的表。我必须将用户所做的任何更改存储在数据库中。

第一个想法是用来Sub grdDataGrid_Click()获取正在使用的行,但为此,我需要知道该行中是否有任何单元格被修改并获取它的原始值和新值。有没有办法检查它?正如我所见,记录集有 Will 和 Complete 事件,但我以前从未使用过它们。他们是否能够获取已更改单元格的旧值和新值?我还考虑过在我正在使用的表上的 oracle 中使用触发器(因为它可以获取旧数据和新数据),但在这种情况下,我无法获取已登录并进行更改的用户。

我愿意提出任何想法。它不必仅在 vb6 中,如果仅靠一件事还不够,我可以使用存储过程、函数、触发器。

4

1 回答 1

0

尝试查看WillChangeRecord事件。它将告诉您为什么记录正在/正在更改,并且它具有将更改的记录的记录集。您可以在此处查看 Microsoft 的文档。

Adodc1_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
于 2012-07-10T22:28:48.017 回答