以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  事务处理函数,快完工了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44233)

--  作者:yedaoan
--  发布时间:2013/12/26 9:49:00
--  事务处理函数,快完工了

做了个事务处理函数,提交没有问题了,但是事务回滚这段,还有问题

如果用 cmd.CommandText = "Begin Transaction;" & strSQL &  "RollbackTrans 不知能不能回滚,不知道这样写是不是对的?

如果用 cmd.CommandText = "RollbackTrans  又无法通过编译,请指教

Try
    Dim cmd  As New SQLCommand
    Dim strSQL As String
    cmd.C
    For i As Integer =0 To args.length-1
        If args(i) Is Nothing Then
             Exit For
        Else
            strSQL=strSQL & args(i) & ";"
        End If
    Next
    cmd.CommandText = "Begin Transaction;" & strSQL &  "Commit Transaction"
    cmd.ExecuteNonQuery
    Return True
Catch ex As Exception
    cmd.CommandText = "Begin Transaction;" & strSQL &  "RollbackTrans"
    \'cmd.CommandText = "RollbackTrans"
    cmd.ExecuteNonQuery
    \'cmd.RollbackTrans
    Return False
    MessageBox.Show("向服务器提交数据错误!","提示",MessageBoxButtons.OK)
End Try

[此贴子已经被作者于2013-12-26 9:51:22编辑过]

--  作者:yedaoan
--  发布时间:2013/12/26 9:53:00
--  

cmd.c后面部分,不知道为什么粘贴不上去,实际上是下面的这句

cmd.C
还是粘贴不上去,我上图了

 


此主题相关图片如下:1.png
按此在新窗口浏览图片
[此贴子已经被作者于2013-12-26 9:53:33编辑过]

--  作者:yedaoan
--  发布时间:2013/12/26 9:57:00
--  

这样改了下,通过编译了


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-12-26 9:58:42编辑过]

--  作者:yedaoan
--  发布时间:2013/12/26 10:02:00
--  
没有人告诉我,这样做对不对啊?
--  作者:Bin
--  发布时间:2013/12/26 10:06:00
--  
测试一下不就知道效果了, 或者你把拼接的SQL语句弹出来看看
--  作者:yedaoan
--  发布时间:2013/12/26 10:10:00
--  

回滚不好测试啊,提交没有问题?

 

 


--  作者:有点甜
--  发布时间:2013/12/26 21:17:00
--  
 我感觉会出错,你应该参照sql存储过程的语法去写比较好。

 设置一个变量去获取全局变量的值sqlserver里用@@Error,如果有错,就回滚。

 相当于在狐表里写一段存取过程的代码。