UpdateBatch与事务处理的一点总结
来源:互联网 发布:it维修 编辑:程序博客网 时间:2024/05/15 23:52
对于某些设置或者提交,如果希望是全部修改完毕后才确定生效,可以将DataSet的LockType:=ltBatchOptimistic,这样就可以了。然后每次做的修改和改动都暂时保存在缓存中,必须通过UpdateBatch来提交入库。可以通过判断DataSet的UpdateStatus属性是否为usUnmodified就可以知道先前是否已经提交了改动了。
注意:对于用户已经Edit,但是未提交的修改,也要注意提示用户保存。由于没有提交前UpdateStatus并没有发生变化,所以还要注意判断是否ADOTable1.State=dsBrowse,以便提示用户是否保存。
if (ADOTable1.UpdateStatus<>usUnmodified) or (Not (ADOTable1.State=dsBrowse)) then
begin
end;
这个用法也可以通过事务实现,操作前先通过ADOConnection的BeginTrans开始事务,提交修改是CommitTrans,回滚是RollbackTrans,判断是否处于事务中读取InTransaction属性即可。事务也有一个缺点,就是DataSet没有事务,如果多个DataSet使用一个ADOConnection,如果使用事务势必影响其他操作。而且有文章说事务处理起来比较耗费资源,至少比UpdateBatch费资源,呵呵~
注意:对于用户已经Edit,但是未提交的修改,也要注意提示用户保存。由于没有提交前UpdateStatus并没有发生变化,所以还要注意判断是否ADOTable1.State=dsBrowse,以便提示用户是否保存。
if (ADOTable1.UpdateStatus<>usUnmodified) or (Not (ADOTable1.State=dsBrowse)) then
begin
end;
这个用法也可以通过事务实现,操作前先通过ADOConnection的BeginTrans开始事务,提交修改是CommitTrans,回滚是RollbackTrans,判断是否处于事务中读取InTransaction属性即可。事务也有一个缺点,就是DataSet没有事务,如果多个DataSet使用一个ADOConnection,如果使用事务势必影响其他操作。而且有文章说事务处理起来比较耗费资源,至少比UpdateBatch费资源,呵呵~
- UpdateBatch与事务处理的一点总结
- ADODataSet的UpdateBatch问题
- SpringAOP与Spring事务处理总结
- delphi adoquery的post和UpdateBatch
- PAGEENCODING与CONTEXTTYPE的一点总结
- PAGEENCODING与CONTEXTTYPE的一点总结
- SqlDataReader,SqlDataAdapter与SqlCommand的一点总结.
- Session与Cookie的一点总结
- JDBC 的事务处理与批处理
- 实践篇(3)--关于事务处理的一点细节
- 对数据库事务处理代码通常写法的一点改进
- 事务处理总结
- 事务处理总结
- 事务处理总结
- [ADO学习笔记] Recordset 对象中的updateBatch函数的使用方法
- 基于spring boot项目的多数据源配置与分布式事务处理总结
- 总结一点Access与Sqlserver的sql的差异
- Unity3D与网页的交互---做项目的一点总结
- 给中国学生的第三封信:成功、自信、快乐
- 关于幸福
- 宏定义模板 zz
- 打碎英文连续显示所用的css
- asp.net 2.0中一次性更新所有GRIDVIEW的记录
- UpdateBatch与事务处理的一点总结
- 远程注册自己的组件
- 微软.net精简框架最常见问题。 选择自 jinco 的 Blog
- 深入Struts 1.1(分离struts配置文件)
- 完成了简单记事本程序的编写
- 一个掌握Struts企业级Web开发框架的实例
- 将ASP写成DLL
- 关于此Blog的说明
- 抚今追昔“七小福”——来自sohu社区