У меня возникла проблема, когда я не могу сохранить данные из таблицы данных в файл базы данных доступа, если я удаляю строку, а число отличается (например, количество строк в файле базы данных равно 3, но количество строк в таблице данных равно 2),Если в обеих таблицах одинаковое количество строк, данные сохраняются правильно.Эта проблема преследует меня последние 2 дня, поэтому я решил спросить здесь.
В чем проблема в этой программе?
Вот код для сохранения данных:
If tbl_inv.Rows.Count > u Then
For x = tbl_inv.Rows.Count To u - 1
Dim oldRegionRow As POS_Database.InventoryRow
oldRegionRow = POS_Database.Inventory.Rows.Item(x)
oldRegionRow.Delete()
Next
End If
Try
Me.Validate()
InventoryBindingSource.EndEdit()
InventoryTableAdapter.Update(Me.POS_Database.Inventory)
MessageBox.Show("Data Saved!", "Saved!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Changes = False
Catch ex As Exception
MessageBox.Show("Error Saving!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Примечание: я могу обмануть данные, чтобы «сохранить данные», если я добавлю POS_Database.AcceptChanges (), но все равно не сохранится должным образом, просто отобразит «Данные сохранены!»сообщение, но на самом деле не сохраняет изменения в самом файле.
Заранее спасибо.
Редактировать: Проблема в том, что данные не сохраняются, если существует разница в количестве строк наи datagridview и доступ к базе данных.Игнорируйте также Changes = False line, потому что эта работает правильно (но для другой кнопки).