Обновляет ли SqlDataAdapter.Update объект данных? - PullRequest
0 голосов
/ 16 июня 2011

Что ж, моя проблема в том, что мне интересно, обновляется ли после обновления базы данных данными из таблицы данных таблица данных, также как и последняя информация из базы данных. Или я должен сделать что-то вроде следующего:

Dim newFilesAdptr As SqlDataAdapter = New SqlDataAdapter(newFilesCmd)
Dim newFilesBuilder As SqlCommandBuilder = New SqlCommandBuilder(newFilesAdptr)
Dim newFilesDataTable As DataTable = New DataTable
newFilesAdptr.Fill(newFilesDataTable)

'Some code

newFilesDataTable.Rows.Add(newFilesRow)
newFilesAdptr.Update(newFilesDataTable)

'Immediately get newest data
newFilesDataTable = Nothing
newFilesDataTable = New DataTable
newFilesAdptr.Fill(newFilesDataTable)

1 Ответ

1 голос
/ 16 июня 2011

Нет - данные не синхронизируются обратно из БД в базу данных в памяти. Он эффективно синхронизирует данные в базе данных (и ТОЛЬКО эти данные) с фактической базой данных.

Этот метод читает состояние строки каждого datarow в таблице и применяет соответствующее действие (обновление, вставка, удаление) к базе данных, чтобы отразить изменения.

Как только вы успешно вызвали Update через DataAdapter, вы можете вызвать DataTable.AcceptChanges (), чтобы сбросить состояние строки до неизменного во всех строках таблицы, очистить все удаленные строки и эффективно синхронизировать строки в базе данных с данными в БД. хотя новые данные в БД не загружаются обратно в таблицу данных.

...