如何使用OracleDataAdapter检测单个行上的触发器所做的更改

时间:2010-12-02 09:55:35

标签: .net oracle dataadapter

我使用OracleDataAdapter和datatable更新单行数据。调用apdapter的.update方法可以正常工作,但数据库触发器会在更新后更新其中一个字段值。这导致了数据表与数据库不同步的问题。

可能的解决方案 我可以在每个更新语句之后重新查询数据或使用oracle依赖性触发但是我相信最好的方法是将DataTable更新为更改值的更新,但是我该怎么做?我已经尝试使用oracle命令构建器进行更新语句,然后将每个参数更改为inputoutput,这没有用到我还尝试挂钩RowUpdated的事件但不确定在那里看什么。

任何建议?

1 个答案:

答案 0 :(得分:0)

我能想到的两种方式

1-开始维护表更改的历史记录,以便查询历史记录表以进行更新。

2-维护一个timestamp列,以便在您要更新记录时,可以匹配记录的时间戳,以检查您正在更新的记录是否过时,如果其失效,则抛出并发异常或重新加载数据