- - PR -
データセットの削除と再取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-06 18:46
VB.netのWindowsフォームで開発しています。
DataAdapterで取得したデータテーブルから パラメータで抽出条件を設定して、データセットを取得し表示する処理で 1.Fillした直後のデータテーブルから取得できる条件(strSQL1)で データセットを作成する。 dr = DTbl.Select(strSQL1) 2.別の条件で合致したデータをデータテーブルから削除(Delete) ArrDRow= DTbl.Select(strSQL2) For Each DRow In ArrDRow DRow.Delete() Next 3.1.と同様の条件(strSQL1)で再度データセットを取得する dr = DTbl.Select(strSQL1) 上記の処理を行うと、1と3で取得されるデータが異なってしまいます。 2の段階で、データを追加(Insert)した場合は、同じデータが取得できます。 上記のような状況となる原因お分かりでしたら、 ご教示お願いします。 |
|
投稿日時: 2005-12-06 19:24
2番で削除したから、ということではなくて?
「1と3で取得されるデータが異な(る)」というのは具体的にどう異なるんですか? |
|
投稿日時: 2005-12-06 19:56
説明不足で、申し訳ありません。
2は違う条件のデータなので、3の抽出では元々対象外となっています。 1では2件しか取得されないのに(データから見てもこれが正解です) 3では4件取得されてしまいます。 よろしくお願いします。 |
|
投稿日時: 2005-12-06 22:30
NAL-6295です。
推測ですが・・・ 3で同じデータを再度取得する際、 1で使ったDataTableのインスタンスにそのまま取得していませんか? そうした場合、前回取得した内容が消えるわけではないので、単純に倍になります。 もし、同じインスタンスで再度取得する場合は、Rows.Clear()だったかな。を実行する必要があります。 |
1