Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
1
.NET 4.x

SQL: Как сохранить изменения в DataGridView1

23.07.2011, 00:03. Показов 2199. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть DataGridView1 в ней выведина база... Я вношу изменения в DataGridView1 но он их не сохраняет...
Подумал почитал и вот такой код у меня получился на сохранения изменений
VB.NET
1
2
3
4
5
6
7
         Try
            Dim changes As DataTable = data.GetChanges()
            da.Update(changes)
            data.AcceptChanges()
        Catch ex As Exception
            MsgBox("Ошибка сохранения !!!")
        End Try
Но он сохраняет только изменения в первом столбце... Если изменить второй, третий и т.д то он выдает ошибку "Ссылка на объект не указывает на экземпляр объекта." и выделяет этот кусок
VB.NET
1
Dim changes As DataTable = data.GetChanges()
В чем проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2011, 00:03
Ответы с готовыми решениями:

Как сохранить таблицу из DataGridView1 в БД (SQL Server) в файл .mdf?
Отображаю таблицу так: string SqlText = "SELECT * FROM "; SqlDataAdapter da = new...

Как передать данные из dataGridView1 в sql таблицу через запрос
Всем добрый день!!! Вопрос указан ниже, виде комментариев. Если кто то знает решение этой задачи,...

Из Datagridview1 сохранить все данные в БД
Ребята очень нужна помощь. Есть datagridview1 которая заполняется через datagridview2 которая...

Как сохранить изменения?
Например, запустил игру, побегал персонажем, вышел, второй раз запускаешь а персонаж на том же...

10
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
23.07.2011, 00:56 2
Цитата Сообщение от Treals Посмотреть сообщение
da.Update(changes)
А у тебя все поля прописаны?
VB.NET
1
2
3
4
5
6
7
da.UpdateCommand = New OleDb.OleDbCommand("UPDATE " & DBTableName & " SET Field1=?, Field2=? WHERE Id=?", cn) 
da.UpdateCommand.UpdatedRowSource = UpdateRowSource.Both 
With da.UpdateCommand.Parameters 
      .Add("Field1", OleDb.OleDbType.VarWChar).SourceColumn = "Field1" 
      .Add("Field2", OleDb.OleDbType.VarWChar).SourceColumn = "Field2" 
      .Add("Id", OleDb.OleDbType.VarWChar).SourceColumn = "Id" 
End With
Это не для SQL конечно но пинцип тот же.
Или ты вообще такого ничего не прописывал?
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
23.07.2011, 01:07  [ТС] 3
Такое не прописывал ... У меня не через oled.db а через библеотеку MySQL.Data.dll... Просто тока начал изучакть sql и всех нюансов пока что не знаю...
0
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
23.07.2011, 03:39 4
Treals, Так я не утверждаю, что так должно быть.
Но такая беда имеет место быть
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
23.07.2011, 04:48  [ТС] 5
И какое решение ? Пробовать твой код подстроить ? Или дохлый номер будет?
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
23.07.2011, 10:43 6
Treals, по тому коду, что ты выложил, вообще не понятно что и куда сохраняет. Посмотри другие темы в этой ветке - тема сохранения и вообще работа с базами данных не раз поднималась.
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
23.07.2011, 12:11  [ТС] 7
Тот код сохраняет тока первый столбец в таблице ... Искал уже... Но через библиотеку mysql.data.dll примеры сохранения не нашел
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
25.07.2011, 03:11  [ТС] 8
Так что никто помочь не сможет?
0
753 / 552 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
25.07.2011, 09:17 9
Цитата Сообщение от Treals Посмотреть сообщение
Так что никто помочь не сможет
Зачем сохранять всю таюлицу. Сохраняй только изменения через запрос.
SQL
1
"UPDATE <Таблица> SET <имя поля>=<значение>"
У датагрида есть событие EndEdit если не ошибаюсь. Узнать номер изменяемой записи труда не составит.
1
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
25.07.2011, 21:12  [ТС] 10
А если за ранее не известро какая таблица поле и значение будет присвоено?
0
753 / 552 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
25.07.2011, 21:50 11
Цитата Сообщение от Treals Посмотреть сообщение
А если за ранее не известро какая таблица поле и значение будет присвоено?
Здесь конечно сложнее. В том плане, что в грид данные могут поступать из разных таблиц и даже баз. Тут просто важно разработчику понимать какие данные откуда поступили и разумеется куда их отправить после обновления. Это я про таблицы. Что косается поля, то тут можно выйти из положения тем, что имя столбца грида будет совпадать с именем поля в таблице базы и как следствие с именем поля в заполненном источнике. Тогда по имени стобца можно идентифицировать имя поля. А значение, которое изменяет пользователь, я уже говорил, ловить при событии грида EndEdit. У грида полно свойств, которые возвращают положение выделенной ячейки, а также изменяемой вроде.
2
25.07.2011, 21:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2011, 21:50
Помогаю со студенческими работами здесь

Как сохранить изменения в БД
Здравствуйте, ув. форумчане. Прочитал много тем про сохранение в бд access, смотрел видео, но везде...

Как сохранить изменения в БД
Помогите разобраться в сохранении БД. создаю программно доступ к БД по типу OleDbCommand...

Как сохранить изменения в таблице
Как сохранить изменения в таблице using System; using System.Collections.Generic; using...

как сохранить изменения в html
Здравствуйте, мне надо бы поменять кое что на сайте, в том плане, чтобы, когда я заходил на сайт...


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

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