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


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

主题:事务处理的疑问

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
事务处理的疑问  发帖心情 Post By: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用户自己,谢谢!

 回到顶部