插入回滚问题 [英] Rollback problem with insert
本文介绍了插入回滚问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我有一个问题,这个代码
私有 Sub Button1_Click( ByVal sender As System。 Object , ByVal e As System.EventArgs)句柄 Button1.Click
Dim sqlcmd 作为 新 SqlClient.SqlCommand
Dim con As 新 SqlClient.SqlConnection( 数据源= office\kgmEXPRESS;初始目录= KGMERP_STORES;集成安全性=真)
尝试
con.Open()
sqlcmd = 新 SqlClient.SqlCommand( begin tran ItemCreation,con)
sqlcmd.ExecuteNonQuery()
Dim cmd 作为 新 SqlClient.SqlCommand( 插入Item_table(Item_Name,Item_PRate)值('apple',150),con)
cmd.ExecuteNonQuery()
sqlcmd = 新 SqlClient.SqlCommand( commit tran ItemCreation,con)
sqlcmd.ExecuteNonQuery()
Catch ex As 异常
sqlcmd = 新 SqlClient.SqlCommand( rollback tran ItemCreation,con)
sqlcmd.ExecuteNonQuery()
结束 尝试
结束 Sub
当粗线代码执行时,如果有任何错误,我想要回滚代码异常。但我遇到了错误: ROLLBACK TRANSACTION请求没有相应的BEGIN TRANSACTION。
这是什么解决方案?
关心
解决方案
试试这个.. :)
Dim 事务 As SqlTransaction
con.Open( )
transaction = con.BeginTransaction()
尝试
Dim cmd 作为 新 SqlClient.SqlCommand( 插入Item_table(Item_Name,Item_PRate)值('apple',150),con)
cmd.ExecuteNonQuery( )
transaction.Commit()
Catch ex As 异常
transaction.Rollback()
结束 尝试
Hi
I have one prob with this code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlcmd As New SqlClient.SqlCommand
Dim con As New SqlClient.SqlConnection("Data Source=office\kgmEXPRESS;Initial Catalog=KGMERP_STORES;Integrated Security=True")
Try
con.Open()
sqlcmd = New SqlClient.SqlCommand("begin tran ItemCreation", con)
sqlcmd.ExecuteNonQuery()
Dim cmd As New SqlClient.SqlCommand("Insert into Item_table(Item_Name,Item_PRate) values ('apple',150)", con)
cmd.ExecuteNonQuery()
sqlcmd = New SqlClient.SqlCommand("commit tran ItemCreation", con)
sqlcmd.ExecuteNonQuery()
Catch ex As Exception
sqlcmd = New SqlClient.SqlCommand("rollback tran ItemCreation", con)
sqlcmd.ExecuteNonQuery()
End Try
End Sub
when the bold line code executes, if any error comes i want to rollback with the code in exception. But i met with error : The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
What is the solution for this?
Regards
解决方案
try this.. :)
Dim transaction As SqlTransaction con.Open() transaction = con.BeginTransaction() Try Dim cmd As New SqlClient.SqlCommand("Insert into Item_table(Item_Name,Item_PRate) values ('apple',150)", con) cmd.ExecuteNonQuery() transaction.Commit() Catch ex As Exception transaction.Rollback() End Try
这篇关于插入回滚问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文