私の最新の小さなツールで奇妙な問題にぶつかりました。TableAdapter.Updateは常にデータベースに変更を書き込むとは限りません
私は1つのテーブル(ジャーナル)内に1つのSQLiteデータベースを持っています。私はうまく動作するDataGridを介してデータを編集しています。しかし、時には明白ではない理由のために、例外なく、変更や新しい行をデータベースに書き戻すだけではありません。それはあなたが推測できるかなり迷惑なものです。ここに私のコードは次のとおりです。
private JournalTableAdapter adapter = new JournalTableAdapter();
private DataSetAccounting dataset = new DataSetAccounting();
public MainWindow()
{
InitializeComponent();
adapter.Connection = new SQLiteConnection("Data Source=Database/accounting.s3db");
adapter.Fill(dataset.Journal);
dataset.Journal.JournalRowChanged
+= new DataSetAccounting.JournalRowChangeEventHandler(Journal_JournalRowModified);
dataset.Journal.JournalRowDeleted
+= new DataSetAccounting.JournalRowChangeEventHandler(Journal_JournalRowModified);
dataset.Journal.TableNewRow
+= new System.Data.DataTableNewRowEventHandler(Journal_TableNewRow);
dataGridAccounting.DataContext = dataset.Journal.DefaultView;
}
void Journal_JournalRowModified(object sender, DataSetAccounting.JournalRowChangeEvent e)
{
e.Row.EndEdit();
adapter.Update(dataset.Journal);
}
void Journal_TableNewRow(object sender, System.Data.DataTableNewRowEventArgs e)
{
e.Row[2] = DateTime.Now.Date;
}
非常にシンプルかつ簡単に、私は思ったが、私は期待のように動作していない= /私はADO.NET/SQL-Adaptersで多くを動作しませんので、慈悲深いしてください:)
よろしくお願いいたします。 ネファリウス