2

更新中のレガシー データセット コードがいくつかあります。データセットに変更があるかどうかを判断しようとしているので、保存要求を適切に求めることができます。ただし、 myDataset.HasChanges() は常に true を返します。

私の save メソッドでは、コードを編集して、データセットがいつ変更されたかを判断し、次のようなコードを作成しました。

1. myBindingSource.EndEdit()
2. myTableAdapter.Update(myDataSet)
3. myBindingSource.EndEdit()

1 行目の後 - myDataSet.HasChanges = true (理解できる)
2 行目の後 - myDataSet.HasChanges = false (理解できる)
3 行目の後 - myDataSet.HasChanges = true

なぜこれが 3 行目で発生するのかわかりませんが、データセットで更新を実行したばかりなので、これは誤りではないでしょうか?

4

2 に答える 2

3

dataSet/dataTable 内で値を変更する UI 要素が存在する場合があります。

DataBinding を使用しない単純な consoleApplication でコードを試してください。

于 2010-10-15T09:04:48.683 に答える
1

TableAdapter は DataSet を更新しますか? もしそうなら、おそらく初期化されているキーのようなものがあります(GUID==良い、Int==悪いことを思い出してください)。これは、TableAdapter から入力するときに、AcceptChanges を呼び出して、すべての行の状態を未変更にリセットする必要があるのと同じです。

于 2010-03-13T05:49:37.487 に答える