如果记录数据库表修改记录 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061222142245163.html
我想记录每个用户对每个表的修改都能记录到一个系统表里,请问应该如何实现呢?  
  最好可以记录到字段级的修改,对每次修改都记录初值及修改后的值。  
   
  我朋友说可以用触发器,但我感觉也不太对,因为触发器并不知道当前操作的用户,我还要记录当前修改是哪个用户  
   
  请兄弟们帮我看一下。谢谢啦。

你可以考虑在表中增加一个字段表示记录的当前状态;例如0表示正常可用;1表示被修改过,2表示被删除;另加一个字段表示操作人员;  
  这样在对表进行更新时不实际操作原记录,而是修改状态字段的值;而同时在表中新增一条记录

当然,新增的记录状态值为0;

db控件post   之前有oldvalue   和newvalue,你可以试试

比如那个的是。我为了简化事务处理把提交事务写在了一个函数里。  
  function   TdmClient.commitUpdate(ADOCon:TADOConnection;DataSet:TCustomADODataSet):   Integer;  
      var   DataSetOld,DataSetNew:TCustomADODataSet;  
  begin  
      Result   :=   1;  
      try  
          DataSet.Connection   :=   nil;  
          ADOCon.Close;  
          ADOCon.Open;  
          DataSet.Connection   :=   adocon;  
          ADOCon.BeginTrans;  
          DataSet.UpdateBatch;  
          ADOCon.CommitTrans;  
      except  
          ADOCon.RollbackTrans;  
          Result   :=   0;  
      end;  
  end;  
  我还有一个想法就是在调用这个函数里,把旧的数据集从数据库中取出来然后进行更新,  
  然后把两个DataSet进行比较,检查出修改和删除或新增的记录,期待楼下朋友的帮助。

转载于:https://www.cnblogs.com/delphi2007/archive/2008/12/11/1352489.html

如果记录数据库表修改记录相关推荐

  1. 查询数据库表修改记录的sql语句

    SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称' ORDER BY create_time DESC; 该语句可 ...

  2. 那么都数据库表,那么多不同记录。是怎样都存储在一个key-value数据库的?

    那么都数据库表,那么多不同记录.是怎样都存储在一个key-value数据库的? :设置不同的键值而已!不同的表,选出统一的key规范 jedis.sadd("tom:friend:list& ...

  3. 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...

    1.SQLALchemy使用 安装 pip install sqlalchemy: SQLAlchemy是Python编程语言下的一款开源软件,是PythonSQL工具包和对象关系映射器,它为应用程序 ...

  4. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  5. mysql 核对_核对数据库表记录的shell脚本

    项目中需要核对数据库表记录,由于表太多,一一核对是相当痛苦的事情,于是临时写了2个超级简单的脚本. 一个用来核对mysql数据库表的脚本,另外一个用来核对oracle数据库表的脚本. 有需要的朋友,可 ...

  6. 查询oracle表上重复的数据库,如何确定Oracle数据库表重复的记录

    正在看的ORACLE教程是:如何确定Oracle数据库表重复的记录. 作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示O ...

  7. java联接pg库_Java14:使用Java 14的新记录联接数据库表

    java联接pg库 您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它. 我们将 ...

  8. Java14:使用Java 14的新记录联接数据库表

    您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它. 我们将从如何设置您的项目开 ...

  9. 关于数据库表的“记录”与“字段”

    何谓表的记录: 就是数据库中的一张表中的随便任意一行称之为记录 何谓表的字段: 就是数据库中的一张表中的随便任意一列称之为字段 转载于:https://www.cnblogs.com/cyh2009/ ...

最新文章

  1. 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题
  2. Python切分图像小案例(1、3、2、4象限子图互换)
  3. 项目中的技巧经验汇总
  4. Powerdesigner 需求分析(RQM)
  5. 修改altium designer原理图右下角信息
  6. Get和Post的参数传值
  7. php 截取字符串的方法,php截取字符串的方法介绍
  8. PHP保留小数三种方法
  9. web版本 开源压测工具_siege--Web性能压测工具
  10. input只能输入数字_Python基础第一个案例:猜数字游戏,这个都写不出,那就放弃吧...
  11. Bootstrap CSS 编码规范之单行规则声明
  12. python跳出循环重新开始_python怎么跳出循环
  13. Stanford Local Programming Contest 2011
  14. 文件不混淆_Python代码保护 | pyc 混淆从入门到工具实现
  15. 桌面支持--Auto Cad 2012安装方法
  16. 新手记录SPSS学习笔记1
  17. 苹果“教主”乔布斯:一个人的世界
  18. AI读书笔记:《剑桥五重奏—机器能思考吗?》
  19. 用Python批量从本地导数据到postgres数据库,比人工导入快十倍,爽
  20. 这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!

热门文章

  1. ubuntu系统卸载火狐浏览器
  2. Hi3519内核配置USB2.0
  3. html点击上传图片,并显示
  4. php服务器优化,如何设置宝塔面板优化php服务器性能?
  5. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf
  6. 小程序多用户抽奖助手开发总结
  7. ECOSYS FS-1040 USB打印驱动安装
  8. 使用Mybatis联表查询的几种方式
  9. linux cp 排除文件,cp、tar命令排除文件和子目录 - 米扑博客
  10. C语言栈的演示(入栈,弹栈,遍历)