Я столкнулся со странной проблемой с одним из моих новейших небольших инструментов.
У меня есть одна база данных 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, так что будьте милостивы*
С уважением, Нефарий