Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/48: Рейтинг темы: голосов - 48, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45

Обновление записей в БД

11.11.2020, 21:16. Показов 10031. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть компонент DataGrid, именно DataGrid, а не DataGridView. Потому что все материалы что я находил они были именно для DataGridView и не подходили для обычного DataGrid. Так вот, я хочу обновлять записи в бд. Я хочу реализовать это примерно так: слева от DataGrid будут TextBox'ы и когда я нажимаю на определенную строчку, которую хочу изменить информация оттуда читается и записывается в TextBox. Например, Строчка "Имя" записывается в TextBox "Имя" и так далее. И вот когда все данные записаны я хочу менять в TextBox'ах информацию, нажимать кнопку "Обновить" и данные автоматически менялись на те что я вписал. Надеюсь понятно объяснил. Нужна ваша помощь, ребята.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2020, 21:16
Ответы с готовыми решениями:

Обновление записей в БД
У меня есть компонент DataGrid, именно DataGrid, а не DataGridView. Потому что все материалы что я находил они были именно для DataGridView...

Обновление записей в БД
Добрый день, помогите пожалуйста реализовать сохранение\обновление БД после редактирования записей в DGV. Подойдет либо при нажатии на...

Обновление записей
Есть 2 таблицы. 1 С колонками Inform ID Title, Info, Pref И вторая NewD ID Title Pref. Причем данные в NewD.Title и...

42
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 15:43  [ТС]
Студворк — интернет-сервис помощи студентам
Рядовой, господи, получилось. А теперь чтобы обновленные записи сохранялись, что надо сделать?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 15:45
molodoy123, написать запрос на апдейт
1
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 15:50  [ТС]
Рядовой, Хорошо. С этим я попробую разобраться. И еще одно. Если удалить какую либо строку, то после этого возможность редактировать ячейку исчезает. Это можно как-нибудь исправить?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 15:59
Лучший ответ Сообщение было отмечено molodoy123 как решение

Решение

molodoy123, на всех действиях надо переделать
C#
1
2
OleDbDataReader clients = RefreshDB();
            DG1.ItemsSource = clients;
на
C#
1
2
3
4
OleDbDataReader clients = RefreshDB();
            var dataTable = new DataTable();
            dataTable.Load(clients);
            DG1.ItemsSource = dataTable.DefaultView;
1
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 16:08  [ТС]
Рядовой, Да. Вот теперь работает отлично. Осталось только заапдейтить. Мне уже как-то и просить то тебя неудобно. Но ты не мог бы мне объяснить как правильно построить запрос?

Добавлено через 1 минуту
Вот $"UPDATE Clients SET ..." и не знаю как дальше. Как это написать то правильно чтобы он запоминал изменения в ячейках
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 16:20
molodoy123, зайдите в событие под отладчиком и посмотрите, что есть в e. А есть там столбец, в котором находится ячейка и строка. В строке ищите значения ячейки ID и состовляйте запрос
1
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 16:27  [ТС]
$"UPDATE Clients SET {e.EditingElement}
То есть как-то так?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 16:40
molodoy123, зайди в отладчик и посмотри что есть в е, и что тебе надо для запроса. Там все есть.
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 16:48  [ТС]
$"UPDATE Clients SET {e.EditingElement} = {TextBox.Text}"
Немного не понимаю что нужно вписать после равно
Получается за поле я беру EditingElement, а за значение что
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 16:52
e.EditingElement - это текстбокс, а тебе там нужно указать поле, которое собираешься апдейтить
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 16:55  [ТС]
А какое поле там указать? Я же каждый раз меняю разные поля
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 17:12
molodoy123, это поле и указано в e
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 17:17  [ТС]
$"UPDATE Clients SET {e.EditingElement} = {e.EditingElement}"
Получается так. Но тогда ошибку выдает
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 17:28
molodoy123, e.EditingElement - это блин текстбокс. Зайди в отладке в e.
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 17:33  [ТС]
Я не понимаю о чем ты. Где это?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 17:40
вот
Миниатюры
Обновление записей в БД  
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
14.11.2020, 17:45  [ТС]
И что там взять за поле?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
14.11.2020, 18:45
molodoy123, ну подумайте, что пишут после set и что есть в этом списке
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 45
16.11.2020, 08:26  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
что пишут после set и что есть в этом списке
Рядовой, Я так понял что надо выбрать поле Row ведь это строка.
$"UPDATE Clients SET {e.Row} = {e.EditingElement}"
Но появляется ошибка
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
16.11.2020, 14:01
molodoy123, в очередной раз e.EditingElement - это текстбокс (текстбокс != текст, текстбокс != число, текстбокс == контрол), контролы не передают в sql запросы
C#
1
SET {e.Row}
ищи что пишут после set
https://metanit.com/sql/sqlserver/4.7.php
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2020, 14:01

Обновление записей
Нужно проставить флаг для тех записей, которые удовлетворяют условию. НО, есть дублирующиеся записи (hh=10002 - 14 записей, и,...

Обновление записей в бд
Приветствую. необходимо, чтобы с помощью формы изменять содержимое в базе данных. Запрос к бд * Если была нажата кнопка...

Обновление записей
Нашел в интернете базу данных городов и регионов, но там она была разделена на 2 таблицы, решил добавить в таблицу поле region и...

Обновление записей
При обновлении записей 'update'. Можно ли узнать номера обновленных строк? Не делая лишних запросов...

Обновление записей в БД
Как сделать SQL запрос к БД, чтобы изменить у определенной записи из Combo1 значение других её записей. К примеру: мы берем номер...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru