Foxtable(狐表)用户栏目专家坐堂 → 如何最大程度保持数据处理的完整性


  共有8404人关注过本帖树形打印复制链接

主题:如何最大程度保持数据处理的完整性

帅哥哟,离线,有人找我吗?
jinruan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
如何最大程度保持数据处理的完整性  发帖心情 Post By:2012/12/15 9:39:00 [只看该作者]

如:
保存单据时,如果有10条新增的记录要保存,
如何处理才能保证这10条记录要么都保存了,要么遇到异常都不保存

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/12/15 10:16:00 [只看该作者]

Try
   语句1

Catch ex
As Exception
   
语句2
End
Try


用try语句是否可以


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/15 10:48:00 [只看该作者]

 DataTables().Save 封装以后不会抛出异常,再有就是,即便报错能捕捉到也不能恢复。

 在狐表如果要使用事务,只能是自己合成sql语句了,这个过程很麻烦的。
[此贴子已经被作者于2012-12-15 10:49:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinruan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/12/15 11:18:00 [只看该作者]

Foxtable以后会加上事务的。

 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/12/15 11:24:00 [只看该作者]

呵呵,等待ing,兄弟不才,不知何为事务,难怪当年一鸟人说我学的FOXTABLE连事务都没有,很是看不起,搞得我恼怒了半天,狐爸加油!

 回到顶部
帅哥哟,离线,有人找我吗?
jinruan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/12/15 11:25:00 [只看该作者]

期待中 先用 DataTables().Save了

 回到顶部