私はvb.netのWebアプリケーションを持っており、SQL接続とトランザクションをデータベースに1つのレコードを書き込むメソッドに渡しています。複数のトランザクションで1つのSQL接続を使用する
書き込まれた各レコードに対してトランザクションをコミットしますが、ループが完了するまで同じSQL接続を使用したいとします。私はusingステートメントを利用して見ましたが、それはme.itのために動作しませんでした
一つの方法は、最初の時間を実行し、トランザクションがすでにコミットされていることを第二のエラーを与える
Using sqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
sqlConnection.Open()
Using transaction = sqlConnection.BeginTransaction(IsolationLevel.ReadCommitted)
For Each user In users
Try
myDataWriteMethod(user, conn, tr)
Catch ex As Exception
tranaction.rollback()
End Try
transaction.commit()
Next
End Using
End Using
、あなたの質問への答えのほかにいくつかのコード –
を投稿できる、あなたは、エラー処理している正しく動作するつもりはありません - あなたはそれをコミットしようとし、その後、トランザクションをロールバック 'Try'ブロックを終了します同じ取引。個々のループの繰り返しを個別にコミットしたい場合は、 'Catch'ブロックの前の最後の文として' Try'ブロックの中でコミットを動かしてください。 –