- - PR -
ADO.NET について。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-29 20:03
C# + ADO.NET をやりはじめていきなりつまずいてしまいました。
あるレコードを読みながら、別のあるレコードの挿入する 処理行いたかったのですが、 この接続に関連付けられている DataReader が既に開いています。この DataReader を最初に閉じる必要があります。 といった例外が発生してしまいます。 プログラムを下記に一部抜粋します。 SqlCommand selectCmd = new SqlCommand(selectSQL, conn); SqlDataReader rdr = selectCmd.ExecuteReader(); if (!rdr.HasRows) { try { SqlCommand insertCmd = new SqlCommand(insertSQL, conn); insertCmd.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } insertCmd.ExecuteNonQuery(); の前で rdr.Close() すれば例外は発生しま せん。 それぞれ別のデータベース接続のインスタンスを作り、そこから 実行するべきなのでしょうか? アドバイス頂けると幸いです。よろしくお願いします。 |
|
投稿日時: 2004-03-29 20:18
DataReaderでデータを読んでいる最中に同じConnectionで更新等はできません。
DataReaderで読みながら更新を行うなら、おっしゃるとおりConnectionを別に作れば良いと思います。 |
|
投稿日時: 2004-03-29 20:34
御返事ありがとうございます。
複数の Connection で操作するようにします。 ありがとうございました。 |
1
