Метод SQLiteDataAdapter Fill () добавляет новые строки, а не обновляет их - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть SQLiteDataAdapter объект, который заполняет DataTable.Во время инициализации я вызываю метод адаптера Fill() для таблицы.Это связано с DataGrid, и позже я запускаю операцию с базой данных не через DataGrid, и мне нужно принудительно обновить таблицу.

В документации по System.Data.SQLite описываетсяSQLiteDataAdapter Fill() метод как:

Перегружен.Добавляет или обновляет строки в DataSet, чтобы они соответствовали строкам в источнике данных, используя имена DataSet и DataTable.

Однако, просто снова вызвав метод Fill() адаптера в таблицедобавляет вторую копию каждой строки.Чтобы получить ожидаемое поведение, а именно обновить строки, я прибег к вызову метода таблицы Clear(), за которым следует Fill(), и теперь я получаю ожидаемое поведение.

Действительно ли мне нужно позвонить Clear() на стол до Fill(), или мне не хватает опции или чего-то еще для достижения желаемого поведения обновления?

...