System.Data.SQLite.SQLiteDataAdapter.Update держит базу данных на шаг позади - PullRequest
1 голос
/ 04 марта 2012

Хорошо, во-первых, эту проблему довольно сложно описать. Извините, если вы не понимаете моих объяснений.

Когда я изменяю значения в DataSet через DataGridView и впервые вызываю SQLiteDataAdapter.Update (),обновить базу данных.Файл базы данных даже не меняет время «последнего изменения».Однако после обновления DataSet и повторного его вызова он, наконец, обновляет базу данных ... значениями, которые должны быть обновлены в первый раз.

Если были добавлены / удалены строки, все работает нормально.Это происходит только тогда, когда обновляются только значения.

Теперь, если вы не поняли, вот картинка: http://funkyimg.com/viewer.php?img=/2/1416/716/285481problem.png

Вот мой код:

using (SQLiteDataAdapter Adapter = new SQLiteDataAdapter("SELECT * FROM " + DataTable.TableName, Model.Connection))
            {
                SQLiteCommandBuilder Builder = new SQLiteCommandBuilder(Adapter);
                Builder.ConflictOption = ConflictOption.OverwriteChanges;
                Adapter.UpdateCommand = Builder.GetUpdateCommand();
                Adapter.InsertCommand = Builder.GetInsertCommand();
                Adapter.DeleteCommand = Builder.GetDeleteCommand();
                Adapter.AcceptChangesDuringFill = true;
                Adapter.AcceptChangesDuringUpdate = true;
                Adapter.ContinueUpdateOnError = true;
                Adapter.Update(Model.Set, DataTable.TableName);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...