VB.Net и доступ: невозможно сохранить данные, если я удаляю строки - PullRequest
0 голосов
/ 06 марта 2019

У меня возникла проблема, когда я не могу сохранить данные из таблицы данных в файл базы данных доступа, если я удаляю строку, а число отличается (например, количество строк в файле базы данных равно 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, потому что эта работает правильно (но для другой кнопки).

...