Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 121

UPDATE в dataGridView и БД Access

05.04.2021, 09:24. Показов 2137. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро, ребят.
Очень надеюсь на вашу помощь...
Подскажите, пожалуйста, как произвести обновление строки, которую пользователь отредактировал? В БД access вносится без проблем, однако в таблице не меняется ничего?
Если с добавлением строки всё понятно: при выполнении данного алгоритма вносится строка как в БД, так и в таблицу
C#
1
2
3
4
5
6
7
String query = "INSERT INTO [client] VALUES (" + id + ",'" + num_client + "', '" + name_client + "', '" + note + "')"; //запрос
                      OleDbCommand dbComand = new OleDbCommand(query, dbConnection); 
                      if (dbComand.ExecuteNonQuery() != 1)
                          MessageBox.Show("Ошибка выполнение запроса", "Предупреждение");
                      else
                          MessageBox.Show("Выполнено!", "Результат выполнения");
                      dataGridView_Rows.Add(textBox_id_client.Text, textBox_num_client.Text, textBox_name_client.Text, textBox_note.Text);
- всё работает идеально.
Но вот с обновленим что-то никак не идёт:
C#
1
2
3
4
5
6
7
8
String query = "UPDATE [client] SET [Номер] = '" + num_client + "', [Имя] ='" + name_client + "', [Примечание] ='" + note + "' WHERE [Код] = " + id; //запрос
                OleDbCommand dbComand = new OleDbCommand(query, dbConnection); //команда
                if (dbComand.ExecuteNonQuery() != 1)
                    MessageBox.Show("Ошибка выполнение запроса", "Предупреждение");
                else
                    MessageBox.Show("Выполнено!", "Результат выполнения", MessageBoxButtons.OK);          
                dbConnection.Close();
                this.Close();
Что нужно добавить, чтобы редактируемая строка обновилась и в datagridview?
Заранее буду вам безмерно благодарен.
P.S.: загрузку из БД делал собственноручно, прописывая алгоритм такой:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 //подключение к бд
                String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.mdb"; 
                OleDbConnection dbConnection = new OleDbConnection(connectionString);
                dbConnection.Open();
                String query = "SELECT * FROM [client]";
                OleDbCommand dbComand = new OleDbCommand(query, dbConnection); 
                OleDbDataReader dbReader = dbComand.ExecuteReader();       
                if (dbReader.HasRows == false) 
                {
                    MessageBox.Show("Ошибка считывания данных", "Предупреждение");
                }
                else
                {
                    while (dbReader.Read())
                    {
                        dataGridView.Rows.Add(dbReader["Код"], dbReader["Номер"], dbReader["Имя"], dbReader["Примечание"]);
                    }
                }
                dbReader.Close();
                dbConnection.Close();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.04.2021, 09:24
Ответы с готовыми решениями:

Работа с MS Access: описать update для datagridView
Программа для простейшего просмотра и редактирования базы из Access, но при сохранении contactsTableAdapter1.Update выдает ошибку Update...

Вывод информации в DataGridView в зависимости от выбора в другом DataGridView - C# Access
В 1м DataGridView У меня предприятия, при выборе какого-то 1 предприятия, во 2й DataGridView появляются все записи с тем же ключом. Общий...

Не работает Update DataGridView
Здравствуйте! Пытаюсь сохранить изменения сделанный в DataGridView в БД с помощью следующего кода: using System; using...

6
Эксперт .NET
 Аватар для Usaga
14308 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,411
05.04.2021, 09:32
Цитата Сообщение от Труляля Посмотреть сообщение
Что нужно добавить, чтобы редактируемая строка обновилась и в datagridview?
Самый простой и верный вариант: просто перечитать данные и снова запихнуть в таблицу.
0
 Аватар для CyberAlfred
63 / 62 / 14
Регистрация: 16.12.2012
Сообщений: 606
05.04.2021, 09:33
А Вы после апдейта базы, делаете перезапись datagridview?
0
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 121
05.04.2021, 09:55  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Самый простой и верный вариант: просто перечитать данные и снова запихнуть в таблицу.
Пытался не закрывая формы снова загрузить уже новые данные по такому же алгоритму, как загрузка из БД, но выскакивает ошибка такого типа: System.NullReferenceException: Object reference not set to an instance of an object.

Добавлено через 1 минуту
Цитата Сообщение от CyberAlfred Посмотреть сообщение
А Вы после апдейта базы, делаете перезапись datagridview?
Вот в том и дело, что вообще без понятия как это правильно сделать
Суть понимаю, реализовать никак не могу верно
0
Эксперт .NET
 Аватар для Usaga
14308 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,411
05.04.2021, 09:58
Труляля, ну так ошибку исправьте и заработает.
0
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 121
05.04.2021, 10:21  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Труляля, ну так ошибку исправьте и заработает.
Если бы я знал как. Непонятно почему при открытом соединении и повторной загрузки уже обновлённой БД присваивается значение NULL (от чего и ошибка).
0
Эксперт .NET
 Аватар для Usaga
14308 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,411
05.04.2021, 10:24
Труляля, отладчик вам поможет в установлении причины происходящего. Не стесняйтесь его использовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2021, 10:24
Помогаю со студенческими работами здесь

Перенос строки из одной dataGridView в другой dataGridView с Access
Всем привет!!! Подскажите пожалуйста, как из dataGridView1( подключенной к Access) перенести выделенную строку в другую dataGridView с...

DataGridView и Access, составить запрос для dataGridView
У меня есть БД Access, в ней таблица , а в таблице два столбца, один , другой И заполнены они, к примеру, таким образом: ...

Работа с Datagridview, Dataset, Update
Здравствуйте, помогите рзобраться как работать с DataSet Код DataSet detDataSet = new DataSet(); SqlDataAdapter...

Update после редактирования в DataGridView
После редактирования ячейки DataGridView и перехода в другую строку работает код обработчика SelectionChanged private void...

Фокус после update datagridview
Доброго, прошу подсказать как можно реализовать, например, длинный список в датагриде и на строке 792 я удалил запись, после подтверждения...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru