初学使用事务发生错误,请大家帮忙!!谢谢
nesle 2005-02-04 02:47:36 Dim aCon As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\cangku.mdb")
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If aCon.State = ConnectionState.Closed Then aCon.Open()
'定?一个字符串?量
Dim rukudate1 As String
Dim sl As Integer
Dim zj As Double
Dim rukuSQL As New OleDbCommand("Insert Into ruku([id],[name],[class],[size],[num],[price],[amount],[rukudate]) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & rukudate1 & "')", aCon)
Dim zongkuInsertSQL As New OleDbCommand("Insert Into zongku([id],[name],[class],[size],[num],[price],[amount],[rukudate]) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & rukudate1 & "')", aCon)
Dim zongkuUpdateSQL As New OleDbCommand("Update zongku set num = num + sl,amount = amount + zj where zongku.[id] = '" & TextBox1.Text & "' AND zongku.[name] = '" & TextBox2.Text & "' AND zongku.[class] = '" & TextBox3.Text & "' AND zongku.[size] = '" & TextBox4.Text & "'", aCon)
Dim transaction As OleDbTransaction
zj = CDbl(TextBox7.Text)
sl = CInt(TextBox5.Text)
rukudate1 = TextBox8.Text
rukudate1 &= "/"
rukudate1 &= ComboBox1.Text
rukudate1 &= "/"
rukudate1 &= ComboBox2.Text
Try
aCon.Open()
transaction = aCon.BeginTransaction
rukuSQL.Transaction = transaction
zongkuInsertSQL.Transaction = transaction
zongkuUpdateSQL.Transaction = transaction
If DataCheck(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) = True Then
zongkuInsertSQL.ExecuteNonQuery()
Else
zongkuUpdateSQL.ExecuteNonQuery()
End If
rukuSQL.ExecuteNonQuery()
transaction.Commit()
Catch ex As Exception
transaction.Rollback()
MessageBox.Show(ex.Message)
Finally
aCon.Close()
End Try
MsgBox("successful")
End Sub
我运行以后transaction.Rollback()这句话报错,不知道原因,请告诉我一下可能发生错误的原因,如果是SQL语句的错误,请帮我看看,我看了很多遍觉得SQL语句应该没错,谢谢!