Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89

Не работает UPDATE

07.12.2019, 01:57. Показов 3639. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть приложение винапи которое взаимодействует с бд . Ошибок нет , update не обновляет . И не понятно что да почему. Запрос довольно таки простой , вот только почему то не работает. Была похожая тема на форуме , но там так и не нашли решение ..

C#
1
2
3
4
5
6
7
 OleDbCommand command = new OleDbCommand("UPDATE [Autor] SET [Namee]=@Namee, [Surname]=@Surname WHERE [AutID]=@AutID", connection);
 
                command.Parameters.AddWithValue("AutID", textBox5.Text);
                command.Parameters.AddWithValue("Namee", textBox4.Text);
                command.Parameters.AddWithValue("Surname ", textBox3.Text);
 
                await command.ExecuteNonQueryAsync();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2019, 01:57
Ответы с готовыми решениями:

Почему не работает Update, но работает аналогичный Delete?
В xmal есть datagrid в него подтянута из базы информация. Название и количество. Надо сделать во viewmodel кнопки delete и update. Delete ...

Не работает Update
Просто после точки его нету в свойствах, что делать, помогите? using System; using System.Collections.Generic; using...

Не работает update
Не пойму в чем дело using (informationDataContext context = new informationDataContext()) { ...

9
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89
07.12.2019, 10:46  [ТС]
Заметил еще такую вещь , что если в сроке
C#
1
OleDbCommand command = new OleDbCommand("UPDATE [Autor] SET [Namee]=XXX, [Surname]=EEE WHERE [AutID]=1", connection);
сделать значения постоянными , то при вводе в textBox5 любого ID(например 8) , textBox4 (например ЯЯЯ) и textBox5 (например ВВВ) из приложения , то они будут записаны в бд в строку с AutID = 1 , но при этом Namee будет 8 , а Surname ЯЯЯ . И если сделать [AutID]=@AutID , то все снова перестает работать вообще.
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89
07.12.2019, 10:52  [ТС]
Для наглядности.
Миниатюры
Не работает UPDATE  
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
07.12.2019, 11:44
bbqrst, попробуйте явно указать тип параметра как int
C#
1
command.Parameters.AddWithValue("AutID", (int)textBox5.Text);
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89
07.12.2019, 12:24  [ТС]
Igr_ok, выдает ошибку: не удается преобразовать тип "string" в "int"
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
07.12.2019, 15:59
Лучший ответ Сообщение было отмечено bbqrst как решение

Решение

bbqrst, видимо,вы используете СУБД, где параметры должны идти в том же порядке, что и в запросе. AutID должен быть последним.
2
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
08.12.2019, 08:05
Igr_ok, порядок параметров значения не имеет ни в какой СУБД.
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89
08.12.2019, 10:04  [ТС]
Igr_ok, субд access 2007 перестановка параметров действительно не помогает
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
08.12.2019, 10:21
Лучший ответ Сообщение было отмечено Usaga как решение

Решение

Цитата Сообщение от Usaga Посмотреть сообщение
порядок параметров значения не имеет ни в какой СУБД.
https://docs.microsoft.com/en-... mework-4.8
The OLE DB .NET Provider does not support named parameters for passing parameters to an SQL statement or a stored procedure called by an OleDbCommand when CommandType is set to Text. In this case, the question mark (?) placeholder must be used. For example:

SELECT * FROM Customers WHERE CustomerID = ?

Therefore, the order in which OleDbParameter objects are added to the OleDbParameterCollection must directly correspond to the position of the question mark placeholder for the parameter in the command text.

Но при работе с СУБД от Microsoft бывают приятные исключения.

Добавлено через 7 минут
bbqrst, проверьте, что ваши textBox3,textBox4,textBox5 действительно находятся там, где вы думаете. Т.е. что textBox, в который вы вводите ID называется именно textBox5.
1
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 89
08.12.2019, 15:45  [ТС]
Igr_ok, беру свои слова обратно , сделал перестановку параметров по запросу , проверил все текст боксы и все на удивление заработало, удивительная субд этот access. спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2019, 15:45
Помогаю со студенческими работами здесь

Не работает sqlDataAdapter.Update();
Всем привет! C# MVS 2008 server based database.mdf sqlDataAdapter юзаю DataSet(не типизированный) Почему у меня не пашет...

Не работает запрос Update
всем привет. Задание простое. нужно исправить сдесь ошыбку String qwe, qwe23; qwe23 = textBox2.Text; qwe =...

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

Не работает adapterd.Update
Поле вывода из таблицы обновляется только при перезапуске как сделать так чтобы значение которое ввели, сразу после нажатия на кнопку...

Не работает запрос Update.
Есть база Microsoft Access, в ней есть поле типа DateTime. На форме размещен DateTimePicter. В конструкторе запросов был создан запрос...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru