以下のコードをご覧ください。
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
すべてのレコードがループオーバーするまで待つのではなく、すべてのループでトランザクションをコミットする方法はありますか、それともこれは不適切な方法ですか?
私はこれをグーグルで検索するのにしばらく時間を費やしました。質問を投稿する必要はないと思いましたが、答えが見つかりませんでした。