У меня есть SQLiteDataAdapter
объект, который заполняет DataTable
.Во время инициализации я вызываю метод адаптера Fill()
для таблицы.Это связано с DataGrid
, и позже я запускаю операцию с базой данных не через DataGrid
, и мне нужно принудительно обновить таблицу.
В документации по System.Data.SQLite описываетсяSQLiteDataAdapter
Fill()
метод как:
Перегружен.Добавляет или обновляет строки в DataSet
, чтобы они соответствовали строкам в источнике данных, используя имена DataSet
и DataTable
.
Однако, просто снова вызвав метод Fill()
адаптера в таблицедобавляет вторую копию каждой строки.Чтобы получить ожидаемое поведение, а именно обновить строки, я прибег к вызову метода таблицы Clear()
, за которым следует Fill()
, и теперь я получаю ожидаемое поведение.
Действительно ли мне нужно позвонить Clear()
на стол до Fill()
, или мне не хватает опции или чего-то еще для достижения желаемого поведения обновления?