[英]VB.NET Transaction and SQLDataReader
请看下面的代码:
Public Function Orphand()
Dim objCon As SqlConnection
Dim objCommand As SqlCommand
Dim objCommand2 As SqlCommand
Dim objCommand3 As SqlCommand
Dim objDR As SqlDataReader
Dim transaction As SqlTransaction
Try
objCon = New SqlConnection(_ConString)
objCommand = New SqlCommand
objCommand2 = New SqlCommand
objCommand3 = New SqlCommand
objCommand.Connection = objCon
objCommand2.Connection = objCon
objCommand3.Connection = objCon
objCon.Open()
transaction = objCon.BeginTransaction
objCommand.Transaction = transaction
objCommand2.Transaction = transaction
objCommand3.Transaction = transaction
Using objCon
objCommand.CommandText = "SELECT TOP 3 * FROM dbReviews"
objDR = objCommand.ExecuteReader
Do While objDR.Read
objCommand2.CommandText = "INSERT INTO dbReviewChangesVALUES (1,1,'1',1,'2012-01-09')"
objCommand2.ExecuteNonQuery()
objCommand3.CommandText = "INSERT INTO dbReviewChangesVALUES (1,1,'1',1,'2012-01-09')"
objCommand3.ExecuteNonQuery()
Loop
transaction.Commit()
objDR.Close()
End Using
Catch ex As Exception
End Try
End Function
End Class
有没有一种方法可以在每个循环中提交事务,而不是等到所有记录都循环之后,还是这种不良做法?
我花了一些时间在Google上搜索。 我认为我不必发布问题,但是我没有找到答案。
是的,在循环内打开一个事务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.