Foxtable(狐表)用户栏目专家坐堂 → 再问事务处理


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

主题:再问事务处理

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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
再问事务处理  发帖心情 Post By:2013/12/24 20:08:00 [只看该作者]

上次有个贴问了事务的问题,如下

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=43350&skin=0

 

狐爸说可以编程解决,可惜我太菜了,搞不了,狐爸能不能搞个通用的解决示例 ,这个必须有啊,否则没有办法做下去了,

bin说用SQLCOMMAND也不能解决事物的问题,请指教!

 

这是我用ADO做的一个函数,是不是有参考意义

Public Function Trans(Optional ByVal strSQL1 As String, Optional ByVal strSQL2 As String, Optional ByVal strSQL3 As String, Optional ByVal strSQL4 As String, Optional ByVal strSQL5 As String, Optional ByVal strSQL6 As String, Optional ByVal strSQL7 As String, Optional ByVal strSQL8 As String, Optional ByVal strSQL9 As String, Optional ByVal strSQL10 As String) As Boolean
On Error GoTo Err_Trans
   Dim CN As ADODB.Connection
   Set CN = CurrentProject.Connection
   Trans = True
   CN.BeginTrans
   If Nz(strSQL1, "") <> "" Then CN.Execute strSQL1
   If Nz(strSQL2, "") <> "" Then CN.Execute strSQL2
   If Nz(strSQL3, "") <> "" Then CN.Execute strSQL3
   If Nz(strSQL4, "") <> "" Then CN.Execute strSQL4
   If Nz(strSQL5, "") <> "" Then CN.Execute strSQL5
   If Nz(strSQL6, "") <> "" Then CN.Execute strSQL6
   If Nz(strSQL7, "") <> "" Then CN.Execute strSQL7
   If Nz(strSQL8, "") <> "" Then CN.Execute strSQL8
   If Nz(strSQL9, "") <> "" Then CN.Execute strSQL9
   If Nz(strSQL10, "") <> "" Then CN.Execute strSQL10
   CN.CommitTrans
   CN.Close
   Exit Function
Err_Trans:
   CN.RollbackTrans
   Trans = False
   MsgBox Err.Description & " [操作失败,请检查!]", 0 + 64
   CN.Close
End Function


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/24 20:21:00 [只看该作者]

 直接拼凑sql语句吧,这样简单

Dim cmd As new SQLCommand
cmd.CommandText = "Begin Transaction test; update 订单 set 单价 = 999; Commit Transaction test"
'cmd.CommandText = "Begin Transaction test; update 订单 set 单价 = 999; ROLLBACK Transaction test"

cmd.ExecuteNonQuery

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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
  发帖心情 Post By:2013/12/25 7:34:00 [只看该作者]

这种方法,还是不够灵活,如果能写成函数模式,直接调用,就好了

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/12/25 8:06:00 [只看该作者]

这个功能,还是狐爸统一来做,少不了。


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


加好友 发短信
等级:童狐 帖子:257 积分:1971 威望:0 精华:0 注册:2012/12/20 8:21:00
  发帖心情 Post By:2013/12/25 9:09:00 [只看该作者]

狐爸在那里呢?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/25 9:13:00 [只看该作者]

如果急需的话,就先自己做吧。

用foxtable开发的用户,需要事务的并不多,我需要考虑用何种方式提供,又不影响普通用户的习惯。


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


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2013/12/25 14:41:00 [只看该作者]

确实需要版主多多指导啊。

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2013/12/25 22:46:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:553 积分:4539 威望:0 精华:0 注册:2012/12/2 16:53:00
回复:(狐狸爸爸)如果急需的话,就先自己做吧。用...  发帖心情 Post By:2014/2/12 16:25:00 [只看该作者]

事务的功能必须要有啊...之前用的平台,开发都是写事务写习惯的...想换foxtable,可是没有事务控制,都不知道该怎么写了....
写出来的东西也都不放心用...
还有独占式编辑....能不能foxtable实现自动控制啊...比如在foxtable中编辑每笔资料前,foxtable自动将后台数据锁上,编辑完后,再自动解锁,
不需要开发者自己写代码控制....
这两点若能实现,,那foxtable处理数据就更严谨更方便了....

 回到顶部