【问题标题】:How do I detect changes made by a trigger on a single row using the OracleDataApdater如何使用 OracleDataAdapter 检测触发器对单行所做的更改
【发布时间】:2011-05-19 00:45:41
【问题描述】:

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

可能的解决方案 我可以在每个更新语句或使用 oracle 依赖项触发后重新查询数据,但是我相信最好的方法是让 DataTable 将自身更新为更改后的值,但我该怎么做呢?我尝试使用 oracle 命令生成器来更新语句,然后将每个参数更改为输入输出,这没有奏效我还尝试挂钩 RowUpdated 的事件,但不确定在那里查看什么。

有什么建议吗?

【问题讨论】:

    标签: .net oracle dataadapter


    【解决方案1】:

    我能想到的两种方法

    1- 开始维护表更改的历史记录,以便您可以查询历史记录表以获取更新。

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

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 2018-08-21
      • 1970-01-01
      • 2016-07-20
      • 2021-09-02
      • 1970-01-01
      • 2011-10-04
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多