以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  事务处理的疑问  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50338)

--  作者:zpx_2012
--  发布时间:2014/5/5 9:20:00
--  事务处理的疑问
原来事务是引用逛逛老师的如下面:这个和新版的事务处理有什么不同?是不是红色部份可以不要?
Dim SqlList As List(of String) = Args(0)
Dim cn1 As Connection = Connections(Mydata)   \'获取数据源名称
Dim cn As New System.Data.OleDb.OleDbConnection(cn1.ConnectionString)
Dim cmd As new System.Data.OleDb.OleDbCommand
cn.Open()
cmd.Connection = cn
try
    cmd.Transaction = cn.BeginTransaction()   \'开始事务
    For Each sql As String In SqlList
        cmd.CommandText = sql
        cmd.ExecuteNonQuery()
    Next
    cmd.Transaction.Commit()  \'提交事务
    cmd.Dispose()    \'释放
    cn.Close()       \'关闭连接
    sqlList.Clear()  \'清空集合
    Return "OK"
Catch ex As Exception
    cmd.Transaction.Rollback()  \'回滚事务
    msgbox(ex.tostring)      \'返回错误信息
    cmd.Dispose()    \'释放
    cn.Close()       \'关闭连接
    sqlList.Clear()  \'清空集合
    Return "NG"
End Try

另外一个问题:
事务一旦开启,在提交或回滚之前,都只能执行通过SQLCommand执行SQL语句,不能有其他读写后台数据库的操作。
意思是A用户在调用事务处理时,所有其他用户都不能读写数据库吗?还是只有A用户自己,谢谢!

--  作者:Bin
--  发布时间:2014/5/5 9:26:00
--  
如果使用官方的,参考官方帮助做即可.



这个是指A用户自己