如何检测表

时间:2018-05-12 11:08:30

标签: c# sql-server

假设我的c#项目中有85个字段的学生注册表单,并且有三个按钮保存,更新,删除。
更新该字段的人非常清楚哪个字段已更新,但其他人如何知道哪个字段已更新?因为...
如果单击更新按钮而不更改任何值,则单击更新按钮并执行一些更改时,执行更新查询并执行相同的更新查询。

所以我希望该数据库能够检测更新查询中哪个字段已更新。

传统方式表示存储先前的值,然后逐个字段地将它们与新值进行比较。但这会降低性能。

任何聪明的方式?

2 个答案:

答案 0 :(得分:0)

我有一种方法可以使用表格版本来执行该操作,您可以维护每次更新,创建,删除记录。

Tutorial for table versioning

Another Tutorial

第二种方法是你必须添加存储SQL查询的审计表或字段,并存储哪个用户更改数据,并存储最后修改日期。

答案 1 :(得分:0)

为什么需要保存按钮和更新按钮?同样的,对吗?

修改程序中的逻辑,以便仅在用户时允许更新    更改学生注册表格中的数据相对于    数据库中的数据。

  • 从数据库中读取记录
  • 将记录数据存储在本地DataRowList
  • 将数据加载到学生注册表
  • update_button.enable = false
  • delete_button.enable = true

  • 在学生注册表单上为每个TextChange创建TextBox个事件方法

  • TextChange事件方法触发时,将TextBox文本与相应的DataRow字段或List项进行比较(案例 不区分大小写)。

  • 如果不匹配,请启用update button

  • 如果用户点击update button,请更新记录并停用update button