STR = "DELETE FROM 申请表 where 票号='" & DropDownList1.Text & "' and ID='" & TextBox1.Text & "'"
            STR1 = "INSERT INTO 发料清单(票号,网点编号,网点名称,ID,物料编码,物料名称,单价,数量,金额,备注)"
            STR1 = STR1 + "values('" & DropDownList1.Text & "','" & Label9.Text & "','" & Label11.Text & "','" & Label3.Text & "','" & TextBox1.Text & "','" & STX & "'," & Convert.ToDecimal(X) & ",'" & TextBox2.Text & "'," & Convert.ToDecimal(X * Val(TextBox2.Text)) & ",'" & TextBox3.Text & "')"
            CONN.Open()
            Dim TX As SqlTransaction
            TX = CONN.BeginTransaction()
            Dim CMD As SqlCommand = CONN.CreateCommand
            'CMD.Connection = CONN
            CMD.Transaction = TX
            Try
                CMD.CommandType = CommandType.Text
                CMD.CommandText = STR
                CMD.ExecuteNonQuery()
                CMD.CommandText = STR1
                CMD.ExecuteNonQuery()
            Catch EX As Exception
                MsgBox("操作没有成功!数据还原!" & vbCrLf & EX.Message)
                TX.Rollback()
            End Try
            CONN.Close()
以上代码有问题吗
不报错。但是数据没有变化,像没有操作一样,

解决方案 »

  1.   

    Try 
                    CMD.CommandType = CommandType.Text 
                    CMD.CommandText = STR 
                    CMD.ExecuteNonQuery() 
                    CMD.CommandText = STR1 
                    CMD.ExecuteNonQuery() 
                    TX.Commit()
                Catch EX As Exception 
      

  2.   

    TX = CONN.BeginTransaction() 创建了一个事务
    CMD.ExecuteNonQuery() SQL执行完毕后
                    TX.Commit() 需要提交事务