MasterDataset:Tadodataset;
DetailDataset:Tadodataset;Masterdataset对应着主表
DetailDataset对应着子表Masterdataet,DetailDataset的LockType为ltBatchOptimistic,其他的均为默认设置以下代码:
Connection.BeginTrans;;
try
Masterdataset.UpdateBatch(arall);
DetailDataset.UpdateBatch(arall);
Connection.CommitTrans;
except
Connection.RollbackTrans;
end;当DetailDataset的数据违反主键约束。为什么保存发生错误时没有发生事务的回滚呢。
也就是说Masterdataset和Detaildataset中的一部分数据被保存进了数据库,百思不得其解。
个人感觉这里的事务控制好象根本没有起作用一样,如同空设;
请大虾指教。
DetailDataset:Tadodataset;Masterdataset对应着主表
DetailDataset对应着子表Masterdataet,DetailDataset的LockType为ltBatchOptimistic,其他的均为默认设置以下代码:
Connection.BeginTrans;;
try
Masterdataset.UpdateBatch(arall);
DetailDataset.UpdateBatch(arall);
Connection.CommitTrans;
except
Connection.RollbackTrans;
end;当DetailDataset的数据违反主键约束。为什么保存发生错误时没有发生事务的回滚呢。
也就是说Masterdataset和Detaildataset中的一部分数据被保存进了数据库,百思不得其解。
个人感觉这里的事务控制好象根本没有起作用一样,如同空设;
请大虾指教。
解决方案 »
- 再问 :在DBGrideh排序或过滤后,直接query.close则报错:List index out of bounds(1),如何处理?
- Delphi7连接到linux中的mysql数据库问题~~
- 字符串中中文如何定位?
- 将查询后的结果显示在DBGRID中后,使第一行默认选中,即以蓝色显示选中的那种,请问怎么设置啊?急,在线等
- 向大家请教一个关于通过网络访问SQL服务器的问题?
- 谁有delphi7.0的制作安装程序软件?
- 在delphi中怎么实现对数据端口的操作?
- 关于批提交?
- 把c表中的数据更新到a,b中(a中没有时插入b中)如何提高速度
- Delphi5中存储过程的问题,请高手帮忙!!!!
- psapi.dll能否在WIN98下调用?
- 关于 DELPHI 7 中的 OFFICE 对象
在afterpost中写下dataset1.committrans
再试试看
在afterpost中写下dataset1.committrans
再试试看
------------------------
to DragonBill
请问
Connection.BeginTrans;;
try
..............
Connection.CommitTrans;
except
Connection.RollbackTrans;
end;
还要吗?
请继续解答
try
Masterdataset.UpdateBatch(arall);
DetailDataset.UpdateBatch(arall);
except
Connection.RollbackTrans;
exit;
end;
Connection.CommitTrans;如果把Connection.CommitTrans;放在exceppt前面,那不是不管怎样都提交了嘛。
try
Masterdataset.UpdateBatch(arall);
DetailDataset.UpdateBatch(arall);Connection.CommitTrans;
except
Connection.RollbackTrans;
exit;
end;
try
BEGIN
dm.adoconnection1.CommitTrans;
except
dm.adoconnection1.RollbackTrans;
end;
是的
最好是单步跟踪看看有没有,看看保存主表数据是不是 执行connection1.CommitTrans,导致的
try
.....
Execsql;
if errors.count = 0 then
committrains
else
rollbacktrains;
excetp
rollbacktrains;
end;