读书人

帮小弟我看一下下面的这个事务处理,为

发布时间: 2012-03-04 11:13:34 作者: rapoo

帮我看一下下面的这个事务处理,为什么执行成功,而数据库却改不了呢?
Dim Sqlconn As New SqlConnection
Sqlconn.ConnectionString = strConnection(此字符串连接的是本机的SQL NorthWind)
Sqlconn.Open()

Dim sqlcommand As New SqlCommand
sqlcommand.Connection = Sqlconn
Dim TransAct As SqlTransaction = Sqlconn.BeginTransaction
sqlcommand.Transaction = TransAct

Try
sqlcommand.CommandText = "Update [Order Details] set Quantity = 20 where OrderID = 10248 And ProductID = '11 ' "
sqlcommand.ExecuteNonQuery()

Catch ex As Exception
TransAct.Rollback()

End Try


调试的时候,它可以执行到sqlcommand.ExecuteNonQuery()
并且没有弹出任何错误.
我拿sqlcommand.CommandText的内容到数据库中执行,是可以正确执行的.
请问一下,我倒底错在哪儿了?
为什么总是界面上执行成功,而数据库却纹丝动呢?

盼路过的朋友指点一下,谢谢了!!!

[解决办法]
在sqlcommand.ExecuteNonQuery()后面加一句
TransAct.Commit
[解决办法]
事务没有 Commit,关闭时就自动 Rollback 了。

读书人网 >VB Dotnet

热点推荐