以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何最大程度保持数据处理的完整性 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26827) |
-- 作者:jinruan -- 发布时间:2012/12/15 9:39:00 -- 如何最大程度保持数据处理的完整性 如: 保存单据时,如果有10条新增的记录要保存,
如何处理才能保证这10条记录要么都保存了,要么遇到异常都不保存 |
-- 作者:lin_hailun -- 发布时间:2012/12/15 9:57:00 -- 狐表目前不支持事务,只能自己通过代码去完成这件事情了。 比如,多条插入语句写在一个事务里去,然后检测是否有错误,出错的话,就RollBack Dim cmd As new SQLCommand cmd.C cmd.CommandText = "Begin Transaction test; update 订单 set 单价 = 999; Commit Transaction test" \'cmd.CommandText = "Begin Transaction test; update 订单 set 单价 = 999; ROLLBACK Transaction test" cmd.ExecuteNonQuery [此贴子已经被作者于2012-12-15 10:48:24编辑过]
|
-- 作者:jinruan -- 发布时间:2012/12/15 10:16:00 -- Try 用try语句是否可以 |
-- 作者:lin_hailun -- 发布时间:2012/12/15 10:48:00 -- DataTables().Save 封装以后不会抛出异常,再有就是,即便报错能捕捉到也不能恢复。 在狐表如果要使用事务,只能是自己合成sql语句了,这个过程很麻烦的。 [此贴子已经被作者于2012-12-15 10:49:10编辑过]
|
-- 作者:jinruan -- 发布时间:2012/12/15 11:08:00 -- 不用 DataTables().Save 用下面方式可以吧: Try For Each ... update 订单 set 单价 = 999 Next Catch ex As Exception
语句2 End Try [此贴子已经被作者于2012-12-15 11:07:58编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2012/12/15 11:18:00 -- Foxtable以后会加上事务的。 |
-- 作者:小猪鑫鑫 -- 发布时间:2012/12/15 11:24:00 -- 呵呵,等待ing,兄弟不才,不知何为事务,难怪当年一鸟人说我学的FOXTABLE连事务都没有,很是看不起,搞得我恼怒了半天,狐爸加油! |
-- 作者:jinruan -- 发布时间:2012/12/15 11:25:00 -- 期待中 先用 DataTables().Save了 |