У меня возникла проблема с обновлением базы данных с помощью OleDBCommandBuilder и типизированного набора данных. Когда я редактирую свою базу данных с готовой панелью, после обновления я вижу, что изменения происходят в DataGridView. Но эти изменения являются временными, beacause, когда я перезапускаю свои приложения, изменения заменяются обратно исходной информацией из базы данных. Может ли кто-нибудь увидеть проблему с кодом, приведенным ниже?C# Обновление адаптера таблицы не обновляется DB
var row = this.dataGridViewProducts.SelectedRows[0];
DataRowView rowView = row.DataBoundItem as DataRowView;
ProductsRow productRow = rowView.Row as ProductsRow;
if (row != null)
{
ProductForm formEdit = new ProductForm(ref productRow);
bool success = false;
while (success == false)
{
try
{
formEdit.ShowDialog();
if (this.productsTableAdapter1.Connection.State != ConnectionState.Open)
this.productsTableAdapter1.Connection.Open();
var changes = nwindDataSet1.Products.GetChanges();
if (changes != null)
{
OleDbCommandBuilder builder = new OleDbCommandBuilder(productsTableAdapter1.Adapter);
productsTableAdapter1.Adapter.UpdateCommand = builder.GetUpdateCommand();
productsTableAdapter1.Adapter.Update(changes);
nwindDataSet1.Products.AcceptChanges();
}
success = true;
}
catch (Exception error)
{
MessageBox.Show(error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
все еще не работает;/ – DoeUS
Хорошо, давайте figureout why =) – Sergio