如果记录数据库表修改记录
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
如果记录数据库表修改记录相关推荐
- 查询数据库表修改记录的sql语句
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称' ORDER BY create_time DESC; 该语句可 ...
- 那么都数据库表,那么多不同记录。是怎样都存储在一个key-value数据库的?
那么都数据库表,那么多不同记录.是怎样都存储在一个key-value数据库的? :设置不同的键值而已!不同的表,选出统一的key规范 jedis.sadd("tom:friend:list& ...
- 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...
1.SQLALchemy使用 安装 pip install sqlalchemy: SQLAlchemy是Python编程语言下的一款开源软件,是PythonSQL工具包和对象关系映射器,它为应用程序 ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- mysql 核对_核对数据库表记录的shell脚本
项目中需要核对数据库表记录,由于表太多,一一核对是相当痛苦的事情,于是临时写了2个超级简单的脚本. 一个用来核对mysql数据库表的脚本,另外一个用来核对oracle数据库表的脚本. 有需要的朋友,可 ...
- 查询oracle表上重复的数据库,如何确定Oracle数据库表重复的记录
正在看的ORACLE教程是:如何确定Oracle数据库表重复的记录. 作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示O ...
- java联接pg库_Java14:使用Java 14的新记录联接数据库表
java联接pg库 您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它. 我们将 ...
- Java14:使用Java 14的新记录联接数据库表
您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它. 我们将从如何设置您的项目开 ...
- 关于数据库表的“记录”与“字段”
何谓表的记录: 就是数据库中的一张表中的随便任意一行称之为记录 何谓表的字段: 就是数据库中的一张表中的随便任意一列称之为字段 转载于:https://www.cnblogs.com/cyh2009/ ...
最新文章
- 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题
- Python切分图像小案例(1、3、2、4象限子图互换)
- 项目中的技巧经验汇总
- Powerdesigner 需求分析(RQM)
- 修改altium designer原理图右下角信息
- Get和Post的参数传值
- php 截取字符串的方法,php截取字符串的方法介绍
- PHP保留小数三种方法
- web版本 开源压测工具_siege--Web性能压测工具
- input只能输入数字_Python基础第一个案例:猜数字游戏,这个都写不出,那就放弃吧...
- Bootstrap CSS 编码规范之单行规则声明
- python跳出循环重新开始_python怎么跳出循环
- Stanford Local Programming Contest 2011
- 文件不混淆_Python代码保护 | pyc 混淆从入门到工具实现
- 桌面支持--Auto Cad 2012安装方法
- 新手记录SPSS学习笔记1
- 苹果“教主”乔布斯:一个人的世界
- AI读书笔记:《剑桥五重奏—机器能思考吗?》
- 用Python批量从本地导数据到postgres数据库,比人工导入快十倍,爽
- 这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!