我先要对一个表进行操作,先把这个表清空,然后把控件vsflexgrid中的数据一条条插入到这个表中,直到vsflexgrid中的所有数据都成功插入,如果有任意一条数据插入失败,就回滚到删除前的状态,这个能实现吗?只要简单介绍一下就可以了!

解决方案 »

  1.   

    To:zyg0(影子(努力吃饭中))能不能简单介绍一下事务回滚?
      

  2.   

    调用我写的韩素做这件事
    Public Function Exsql(ParamArray sql()) As Boolean
    '事务执行多个sql语句,为可选参数dim cn as string
       Dim cnConn As ADODB.Connection
       Set cnConn = New ADODB.Connection
        Dim mysql
        On Error GoTo err1cn=""
    '连接字符串自己写
       cnConn.Open CN
       cnConn.BeginTrans '开始一个事务
       
       For Each mysql In sql
            cnConn.Execute mysql
       Next
       cnConn.CommitTrans '提交一个事物
       
       Set cnConn = Nothing
       Exsql = True
       Exit Function
    err1:
        cnConn.RollbackTrans '回滚一个事物
        Exsql = False
    End Function