Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Sanek_1
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
1

Не могу сохранить данные в базу данных mysql

22.07.2013, 00:10. Просмотров 2770. Ответов 11
Метки нет (Все метки)

У меня есть объект DataGridView, в который я загружаю данные из базы данных,а после меняю данные в DataGridView. Как мне сохранить изменения в базе данных? Смотрел темы на форуме, ничего не нашёл Использую MySql.Data.dll

Пробовал сохранять изменения этой строкой, но безуспешно(
C#
1
Adapter_1.Update(dataset.Tables[0]);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 00:10
Ответы с готовыми решениями:

Не могу сохранить данные в базу
Здравствуйте. Использую wampserver. Настроил подключение, все отображает. Проблема заключается...

Как сохранить данные из GridView в базу данных?
в приложении Asp.Net я подключил базу Sql Server с помощью SqlDataSource и отобразил данные одной...

Как сохранить данные пользователя в локальную базу данных
Уважаемые! Суть моей проблемы (незнание тк только начал изучать Windows Form на C#) Задумал для...

Сохранить две таблицы в DataGridView в базу MySql
Привет, форумчане! Есть две таблицы, которые успешно выводятся в DataGridView с помощью запроса...

Как сохранить данные в базу
Есть база данных книг, есть автоматически сгенерированная edm-модель, где MyHandbook - класс для...

11
TugRRRa
16 / 16 / 2
Регистрация: 17.02.2012
Сообщений: 104
22.07.2013, 10:01 2
Цитата Сообщение от Sanek_1 Посмотреть сообщение
У меня есть объект DataGridView, в который я загружаю данные из базы данных,а после меняю данные в DataGridView. Как мне сохранить изменения в базе данных? Смотрел темы на форуме, ничего не нашёл Использую MySql.Data.dll

Пробовал сохранять изменения этой строкой, но безуспешно(
C#
1
Adapter_1.Update(dataset.Tables[0]);
эээээ... Тут мой дар провидца мне не поможет, но все же осмелюсь сказать: Altertable юзай(это sql команда)
0
BigOblom
121 / 121 / 17
Регистрация: 30.06.2010
Сообщений: 457
22.07.2013, 12:25 3
Цитата Сообщение от TugRRRa Посмотреть сообщение
эээээ... Тут мой дар провидца мне не поможет, но все же осмелюсь сказать: Altertable юзай(это sql команда)
Ему данные таблицы надо обновить, а не поля таблицы. ALTER TABLE Вы бы погуглили для начала, прежде чем советы давать.

Добавлено через 6 минут
По теме. Тоже ковыряю возможности грида, но я по принципу: выделил строку в гриде, данные закинулись в текстбоксы, поменял значения, нажал кнопку, данные обновились в гриде. Если нужно, могу скинуть пример. А вообще хотелось бы тоже через грид все делать. Уже нагуглил немного инфы по этой теме. Вот только там юзают еще какой-то класс DataGridHelper.
0
Sanek_1
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
22.07.2013, 12:34  [ТС] 4
У меня вариант есть: сначала очистить таблицу мою полностью(кроме названий столбцов) у меня это скриптом получается, а вот залить все данные из DataGridView обратно в таблицу проблема.

Добавлено через 1 минуту
BigOblom, мне нужно, чтобы данные сохранялись после нажатия кнопки сохранить. Спасибо большое за предложение, но у меня случай другой

Добавлено через 3 минуты
Цитата Сообщение от TugRRRa Посмотреть сообщение
эээээ... Тут мой дар провидца мне не поможет, но все же осмелюсь сказать: Altertable юзай(это sql команда)
Т.е. Я смогу с помощью этой команды очистить всё кроме названий столбцов и залить всё обратно в таблицу? Щас посмотрим, спасибо)
0
BigOblom
121 / 121 / 17
Регистрация: 30.06.2010
Сообщений: 457
22.07.2013, 12:36 5
Цитата Сообщение от Sanek_1 Посмотреть сообщение
У меня вариант есть: сначала очистить таблицу мою полностью(кроме названий столбцов) у меня это скриптом получается, а вот залить все данные из DataGridView обратно в таблицу проблема.

Добавлено через 1 минуту
BigOblom, мне нужно, чтобы данные сохранялись после нажатия кнопки сохранить. Спасибо большое за предложение, но у меня случай другой
Извращение какое-то)
В общем план действий таков:
1. Грузим данные в грид.
2. Вешаем на событие грида CellEditEnding код, который бы проверял введенное значение в ячейке и апдейтил запись в БД.
3. Грузим в грид снова, для обновления данных.

CellEditEnding
Возникает перед выходом ячейки из режима редактирования, DataGridCellEditEndingEventArgs.EditAction позволяет узнать, пытается пользователь применить редактирование (например, нажимая клавишу <Enter> или щелкая на другой ячейке) или отменить его (нажатием клавиши <Escape>). В этот момент можно просмотреть новые данные и установить свойство Cancel для отката изменений
0
nio
5969 / 3375 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.07.2013, 12:40 6
как это обычно делается:
1) в классе создается DataSet
2) в DataSet создается DataTable
3) DataTable привязывается к DataGridView с помощью BindingSource
4) создается DataAdapter, который грузит данные в DataTable

При необходимости переноса данных из DataGridView в БД, вызывается метод Update для того DataAdapter, который грузил данные. При этом следует помнить, что для адаптера должны быть определены команды обновления данных
1
Sanek_1
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
22.07.2013, 12:41  [ТС] 7
nio, вот я и делаю так, только не работает это. Можете привести пример команд обновления данных?
0
nio
5969 / 3375 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.07.2013, 12:47 8
Цитата Сообщение от Sanek_1 Посмотреть сообщение
Т.е. Я смогу с помощью этой команды очистить всё кроме названий столбцов и залить всё обратно в таблицу? Щас посмотрим, спасибо)
не слушай эту ересь

Добавлено через 6 минут
Цитата Сообщение от Sanek_1 Посмотреть сообщение
Можете привести пример команд обновления данных?
запросы обновления зависят от структуры таблицы в БД
1
Sanek_1
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
22.07.2013, 12:50  [ТС] 9
запросы обновления зависят от структуры таблицы в БД
Таблица состоит из трёх столбцов: #, продукт, цена.
0
TugRRRa
16 / 16 / 2
Регистрация: 17.02.2012
Сообщений: 104
22.07.2013, 12:50 10
Цитата Сообщение от BigOblom Посмотреть сообщение
Ему данные таблицы надо обновить, а не поля таблицы. ALTER TABLE Вы бы погуглили для начала, прежде чем советы давать.

Добавлено через 6 минут
По теме. Тоже ковыряю возможности грида, но я по принципу: выделил строку в гриде, данные закинулись в текстбоксы, поменял значения, нажал кнопку, данные обновились в гриде. Если нужно, могу скинуть пример. А вообще хотелось бы тоже через грид все делать. Уже нагуглил немного инфы по этой теме. Вот только там юзают еще какой-то класс DataGridHelper.
упс Я и думал что нужно сменить, например, тип поля, т.к. в старом сохранить не получается.
0
nio
5969 / 3375 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.07.2013, 13:00 11
если запрос на выборку такой
SQL
1
SELECT Id, продукт, цена FROM myTable
То запросы обновления выглядят так:
SQL
1
2
3
INSERT INTO myTable (продукт, цена) VALUES (@продукт, @цена)
UPDATE myTable SET продукт=@продукт, цена=@цена WHERE Id=@Id
DELETE FROM myTable WHERE Id=@Id
Запросы составлены для таблицы имеющей автоинкрементное ключевое поле Id

Добавлено через 2 минуты
Sanek_1, а вообще рекомендую почитать книгу по ADO.Net это будет продуктивнее и (скорее всего) быстрее, чем ожидание ответов на форуме
0
juninhonvp
3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
22.07.2013, 14:46 12
commit наверное тоже надо делать? Или не обязательно?
0
22.07.2013, 14:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 14:46

Не могу подконнектить базу MySQL :(
Не могу понять, в чем проблема... Работаю на 2005 студии, стоит MySQL 5.0.51, ODBC коннектор 5.1....

Как добавить данные в базу MySQL из DataGrid?
Как добавить данные вводимые в DataGrid в базу данных MySQL? Добавленных данных нет в базе, и...

Как сохранить и удалить данные в mysql по нажатию кнопки
Доброго времени суток! Подскажите пожалуйста, как сохранить и удалить данные в mysql по нажатию...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru