1トランザクションでセレクトとデリート
- 題名: 1トランザクションでセレクトとデリート
- 著者: ライム
- 日時: 2009/03/17 11:13:53
- ID: 24214
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 1トランザクションでセレクトとデリート
- 著者: 魔界の仮面弁士
- 日時: 2009/03/17 12:10:45
- ID: 24216
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 1トランザクションでセレクトとデリート
- 著者: ライム
- 日時: 2009/03/17 12:21:32
- ID: 24218
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 1トランザクションでセレクトとデリート
- 著者: ライム
- 日時: 2009/03/17 12:24:56
- ID: 24219
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
VB.Netにて1トランザクションでセレクトとデリートを行いたいのですが、
セレクト後にデリートを実行すると"DataReaderが既に開かれている"とエラーが発生してしまいます。
他のサイトにて
"DataReaderだけ閉じて、コネクションは閉じなければよい"
とあったのですが、DataReaderを閉じる方法が分かりません。
以下にコードを記述します。
DBはPostgreSQLです。
Dim connection As New OdbcConnection("コネクションストリング")
connection.Open()
Dim command As New OdbcCommand
command.Connection = connection
Dim transaction As OdbcTransaction
transaction = connection.BeginTransaction
command.Transaction = transaction
command.CommandText = strQuery
command.ExecuteReader()
@
command.CommandText = ""
command.ExecuteNonQuery()
transaction.Commit()
connection.Close()
@にDataReaderを閉じるコードを記述すればよいと判断しているのですが、
安直に
"command.ExecuteReader.Close()"
と記述したところ、@にて同じ内容のエラーが発生してしまいました。
色々調べたつもりなのですが、どうにも解決できません。
ご教授、もしくは参考になるサイトを教えて頂けませんでしょうか。
よろしくお願い致します。