初学使用事务发生错误,请大家帮忙!!谢谢
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语句应该没错,谢谢!
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语句应该没错,谢谢!
...全文
相关推荐
简单的VB小程序!!适合初学者!!
Visual Basic(简称VB)是一种由微软公司开发的事件驱动编程语言,特别适合初学者入门。这个标题“简单的VB小程序!!适合初学者!!”
【Spring】Spring 使用 Redis 事务
1.概述 首先 Redis 是支持一定事务能力的 NoSQL , 在 Redis 中使用事务,通常的命令组合是 watch...multi .. .exec,也就是要在一个 Redis 连接中执行多个命令,这时我们可以考虑使用 SessionCallback 接口来达到这个目的 。其 中, watch 命令是可以监控 Redis 的一些键: multi 命令是开始事务,开始事务后 , 该客户端 的命令不会马上被执行 ,而是存放在一个队列里,这点是需要注意 的地方,也就是在这时我们执行一些堪回数据的命令 ,
子线程任务发生异常,主线程事务如何回滚
子线程任务发生异常,主线程事务如何回滚?本文将详细探讨当子线程任务发生异常时,如何让主线程捕获到该异常并进行事务的回滚。下面将从多线程编程的基础知识、线程池的使用、异常捕获三个方面进行阐述。
远程桌面发生身份验证错误
然而,在使用过程中可能会遇到各种各样的问题,其中之一就是“远程桌面发生身份验证错误”。本文将详细探讨这一问题及其解决方法。
SQLite事务的使用
同时,事务也提供了强大的错误恢复机制,当遇到问题时,可以轻松地撤销所有的更改,防止数据损坏。


