C#でDataTableをクリアしようとすると大きな問題が発生します。
データベース内の情報を編集するときの他のすべての時点で、私は次のようなものを使用しました
somethingTableTableAdapter1.Update(greenParksDataSet);
greenParksDataSet1.AcceptChanges();
これは問題なく機能しました。ただし、私のフォームの1つに、開いているテーブルをクリアするためのボタンがあります。メモリ内のDataTableをクリアしているように見えますが、実際には変更をデータベースに伝播していません。基本的に、コードは次のように要約されます
greenParksDataSet.HistoryTable.RecieptIDColumn.AutoIncrementSeed = -1;
greenParksDataSet.HistoryTable.RecieptIDColumn.AutoIncrementSeed = -1;
greenParksDataSet.HistoryTable.RecieptIDColumn.AutoIncrementSeed = 1;
greenParksDataSet.HistoryTable.RecieptIDColumn.AutoIncrementSeed = 1;
greenParksDataSet.HistoryTable.Rows.Clear();
historyTableTableAdapter.Update(greenParksDataSet);
greenParksDataSet.AcceptChanges();
私は物事の順序をいじってみましたが、何もうまくいかないようです。そのコード自体を使用すると、DataTableはクリアされます(変更はDataGridViewに表示されます)が、historyTableTableAdapter.Fill(greenParksDataSet.HistoryTable);
その後に追加すると、データベースがまったく変更されていないことが示されます。
私はおそらく明らかな何かを見逃しているでしょうが、私はこれについて何年もの間困惑してきました、そしてどんな助けもいただければ幸いです。ありがとう!