分類:[ASP.NET (VB)]
ASP.netでSQLserverに接続しています。
ADO.netのトランザクション処理について、trans.Commit()でエラーが出てしまい困っています
下記ソースコードの「エラー発生箇所@trans.Commit()」でエラーが出てどう修正すればいいのか困っています。
エラーの内容は
「この Command に関連付けられている DataReader が既に開かれています。このコマンドを最初に閉じる必要があります。」
です。
どなたか、お詳しい方ご教授アドバイス宜しくお願いいたします。
Dim conStr As String = ConfigurationManager.ConnectionStrings("ApplicationServices").ToString()
Dim con As New SqlClient.SqlConnection(conStr)
con.Open()
Dim hCommand As SqlClient.SqlCommand = con.CreateCommand( )
Dim cReader As System.Data.SqlClient.SqlDataReader
Dim trans As SqlClient.SqlTransaction
trans = con.BeginTransaction()
hCommand.Connection = con
hCommand.Transaction = trans
hCommand.CommandText = "SELECT * FROM Table1"
Try
cReader = hCommand.ExecuteReader()
trans.Commit()←----------------エラー発生箇所@
Catch ex As Exception
trans.Rollback()
Finally
con.Close()
End Try
・・・
・・・
|