Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
1
.NET 4.x

Не сохраняются изменения в базе данных

23.10.2014, 15:36. Показов 1249. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Столкнулся с проблемой несохранения изменений в базе данных.
Читал похожие темы, в том числе и на этом форуме - не нашёл решения.
База данных mdf.
В данный момент есть одна таблица "table", которая содержит 5 столбцов:
Id, num1, num2, login, password, time
и 2 заранее записанных стоки
по нажатию кнопки выполняется код:
C#
1
2
3
4
5
6
7
8
            this.Validate();
            DataRow newRow = database1DataSet.Tables[0].NewRow();
            newRow.ItemArray = new object[] {5, 2, 2, null, null, null};           
            this.database1DataSet.Table.Rows.Add(newRow);
            tableBindingSource.EndEdit();
            this.database1DataSet.AcceptChanges();            
            int i = this.tableTableAdapter.Update(database1DataSet.Table);
            t_box.Text = i.ToString();
в DataSet строка добавляется, что видно по связанному datagridview, но база данных не изменяется. Update возвращает 0 и перезапустив приложение добавленная строка исчезает.
Пробовал копировать руками базу данных в выходную папку и отключать событие копирования БД в свойствах проекта - не помогло.

Добавлено через 29 минут
Всё, разобрался.
Если кому интересно - проблема в this.database1DataSet.AcceptChanges();
При изменении dataSet полям присваиваются свойства added, deleted и т.д.
По умолчанию Unchanged.
Метод Update поля с Unchanged пропускает, а AcceptChanges() свойства всех полей именно в это состояние и переводит, чем и саботирует процедуру сохранения изменений.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2014, 15:36
Ответы с готовыми решениями:

Не сохраняются изменения в базе данных
Огромный привет обитателям этого форума. У меня возникла проблема с обновлением базы данных,...

Не сохраняются изменения в базе данных
Привет всем. Есть класс NoteBook public class NoteBook { public string...

Изменения не сохраняются в базе данных
Доброго времени суток. У меня не сохраняются изменения, внесенные в локальную базу данных. Прочитал...

Не сохраняются изменения в базе данных
Следующая проблема: есть база данных MS Acсess. надо внести изменения в бд в рантайм режиме вот...

1
3460 / 2471 / 695
Регистрация: 02.08.2011
Сообщений: 6,702
23.10.2014, 16:10 2
С MSDN:
Calling AcceptChanges will not replicate these changes back to the data source if the DataSet was filled using a DataAdapter. In that situation, call Update instead. See Updating Data Sources with DataAdapters for more information.
0
23.10.2014, 16:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2014, 16:10
Помогаю со студенческими работами здесь

Не сохраняются изменения в базе данных MySQL
Доброго времени суток, имеется класс подключения к базе данных: using System; using...

Не сохраняются изменения в базе данных после запуска метода Update класса TableAdapter
В принципе, проблема изложена в названии темы. Я самоучка, делаю всё так как сказано в учебном...

SQLite: в Dataset изменения есть, а в самой базе не сохраняются
имеется вот такой код : SQLiteFactory factory =...

Добавление данных в БД Access: изменения в БД не сохраняются
Подключил базу с помощью TableAdapter, DataSet, BindingSource. ...

Не сохраняются данные в базе данных
Не могу найти решение сохранения изменений в базе данных: private void...

Не сохраняются изменения в базе данных
procedure TFCreateUser.BUserCreateClick(Sender: TObject); begin MySQLQ.SQL.Text:='insert...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru