以文本方式查看主题

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

--  作者:lin98
--  发布时间:2024/7/19 11:27:00
--  事务问题
问题1:这个事务是所有数据库,通用吗?ACCESS,MSSQ-L,MYSQ-L
问题2:蓝代码是什么意思?
Dim db = HySq-l.DataBaseFactory.CreateDatabase()  \'获取数据库对象
Dim tran = db.BeginTransaction()  \'开始一个事务
Dim sql As String = "UPDAT-E 订单2 SET 折扣 = @折扣 WHERE 客户 = @客户;" 
Try  
    Dim res As Integer = db.ExecuteNonQuery(tran, sq-l, New HySql.ParameterPair("折扣", 0.3), New HySq-l.ParameterPair("客户", "abc"))  
    res = db.ExecuteNonQuery(tran, sql, New HySql.ParameterPair("折扣", 0.2), New HySql.ParameterPair("客户", "CS01"))  
    If res = 0 Then  
        db.RollbackTransaction(tran, True)  \'回滚事务,同时关闭数据库连接
        msgbox("取消事务")  
    Else  
        db.CommitTransaction(tran, True)  \'提交事务,同时关闭数据库连接
        msgbox("执行成功")  
    End If  
Catch ex As Exception  
    db.RollbackTransaction(tran, True)  \'回滚事务,同时关闭数据库连接
    msgbox("取消事务,原因:" & ex.Message)  
End Try  

--  作者:有点蓝
--  发布时间:2024/7/19 11:33:00
--  
1、通用的,只要数据库支持事务,都会有效
2、组件帮助有相关的说明