初学使用事务发生错误,请大家帮忙!!谢谢

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语句应该没错,谢谢!
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallMage 2005-02-04
  • 打赏
  • 举报
回复
楼上的楼上正确
chinahth 2005-02-04
  • 打赏
  • 举报
回复
上楼正确
xufan_1976 2005-02-04
  • 打赏
  • 举报
回复
你的aCon.Open()写了两遍了
1 If aCon.State = ConnectionState.Closed Then aCon.Open()
2 Try
aCon.Open()
transaction = aCon.BeginTransaction
rukuSQL.Transaction = transaction
xiayule 2005-02-04
  • 打赏
  • 举报
回复
我考,这么复杂啊,那你们平时怎么纠错阿,PF
nesle 2005-02-04
  • 打赏
  • 举报
回复
抱的错误是日文的,看不懂
小馬 2005-02-04
  • 打赏
  • 举报
回复
transaction.Rollback()
要与transaction.Begin()配对。
xiayule 2005-02-04
  • 打赏
  • 举报
回复
抱什么错误阿

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧