使用程序中的ADO的事务
CONNECTION.BEGINTRANSACTION
CONNECTION.COMMIT
CONNECTION.ROLLBACK

解决方案 »

  1.   

    '**************************************************************************
    ' △@(f)
    '   功能    : △ 事务处理开始
    '   返回值   : △ True - 成功
    '         : △ False - 失败
    '   参数    : △
    '   作成    : △ 
    '   更新    : △ 
    '   功能说明  : △ 
    '   备注    : △
    '**************************************************************************
    Public Function FngBeginTrans() As Boolean
    On Error GoTo errHandle
        FngBeginTrans = False
        
        Connection.BeginTrans
        
        FngBeginTrans = True
        Exit Function
    errHandle:
        If (Err.Number <> 0) Then
            MsgBox Err.Description, vbCritical, "事务处理开始"
        End If
    End Function'**************************************************************************
    ' △@(f)
    '   功能    : △ 事务处理提交
    '   返回值   : △ True - 成功
    '         : △ False - 失败
    '   参数    : △
    '   作成    : △ 
    '   更新    : △ 
    '   功能说明  : △ (事务处理提交。)
    '   备注    : △
    '**************************************************************************
    Public Function FngCommitTrans() As Boolean
    On Error GoTo errHandle
        FngCommitTrans = False
        
        Connection.CommitTrans
        
        FngCommitTrans = True
        Exit Function
    errHandle:
        If (Err.Number <> 0) Then
            MsgBox Err.Description, vbCritical, "事务处理提交"
        End If
    End Function'**************************************************************************
    ' △@(f)
    '   功能    : △ 事务处理回滚
    '   返回值   : △ True - 成功
    '         : △ False - 失败
    '   参数    : △
    '   作成    : △ 
    '   更新    : △ 
    '   功能说明  : △ (事务处理回滚。)
    '   备注    : △
    '**************************************************************************
    Public Function FngRollbackTrans() As Boolean
    On Error GoTo errHandle
        FngRollbackTrans = False
        
        Connection.RollbackTrans
        
        FngRollbackTrans = True
        Exit Function
    errHandle:
        If (Err.Number <> 0) Then
            MsgBox Err.Description, vbCritical, "事务处理回滚"
        End If
    End Function
      

  2.   

    还是不明白
    在程序中 btnSave_click过程中使用事务
    try
    .
    .
    .
     trans.commit
    catch ex as exception
    trans.rollback
    end try
    想不明白这怎么就能够和触发器同步了???
      

  3.   

    程序是什么程序?
    不管什么程序都有事务管理
    VB就象上面一样
    JAVA也可以对CONNECTION进行事务
      

  4.   

    如何在触发器中使用事务
    例如添加一个纪录时更改另一个表中相关的字段
    触发器如下:
    CREATE TRIGGER [output_ADD] ON [dbo].[storage_output] 
    FOR INSERT 
    AS
    update storage_input set sin_remain=sin_remain-i.sout_amount
    from storage_input s,inserted i
    where s.sin_id=i.sout_sinid and s.sin_miid=i.sout_miid
    在程序中是使用循环将纪录一条一条添加
    trans=conn.begintransaction
    cmd.transactioin=trans
    for i=0 to dt.rows.count-1
    sql=""
    cmd.commandtext=sql
     cmd.ExecuteNonQuery()
    nexttrans.commit
    catch ex as exception
    trans.rollback
    end try