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

Ошибка при выполнении запроса

12.10.2018, 13:52. Показов 1776. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, подскажите пожалуйста вылазит ошибка


при нажатии на кнопку с данными

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 private void button2_Click(object sender, EventArgs e)
        {
            string photo = Path.GetDirectoryName(Text);
            string lastname = textBox1.Text;
            string name = textBox2.Text;
            string patronymic = textBox3.Text;
            string adress = textBox4.Text;
            var mobile = textBox5.Text;
            string email = textBox6.Text;
            string position = textBox7.Text;
            var age = txtAge.Text;
            var birthday = dateTimePicker1.Text;
            string status = comboBox1.Text;
            // объект для установления соединения с БД
            SqlConnection connection = new SqlConnection(connectionString);
            // открываем соединение
            connection.Open();
            // запрос вставки данных
            string query = "UPDATE condidat SET (lastname, name, patronymic, adress, mobile, email, position, photo, age, birthday, status) VALUES " +
            "('" + lastname + "', '" + name + "', '" + patronymic + "','" + adress + "', '" + mobile + "', '" + email + "', '" + position + "', '" + photo + "', '" + txtAge.Text + "', '" + birthday + "', '" + status + "')";
            // объект для выполнения SQL-запроса
            SqlCommand command = new SqlCommand(query, connection);
            // выполняем запрос
            command.ExecuteNonQuery();
            // закрываем подключение к БД
            connection.Close();
            {
                MessageBox.Show("Данные успешно записаны");
            }
        }


с ms sql вообще не знаком, запрос взят из работающей программы но на mysql и переделанный под свои нужды, но не получается
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2018, 13:52
Ответы с готовыми решениями:

Анимация при выполнении запроса
Здравствуйте друзья. Выполняю запрос к базе на выборку, хочу в течении запроса выводить анимацию типа "Работаю..." где то...

Ошибка при запуске и выполнении программы
В студии не вылетает, а так вылетает. Ссылка на проект ниже. https://yadi.sk/d/ALxs3_LpoVe4K

Ошибка 503 при получении запроса
Здравствуйте, начинаю только изучать C#. Задача, отправить данные с двух форм на сервер и принять ответ. Проблема при принятии запроса,...

13
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.10.2018, 14:05
а где в вашем коде
Цитата Сообщение от localhosts Посмотреть сообщение
connectionString
он должен быть таким:
C#
1
var connectionString ="Data Source=Имя_Сервера; Initial Catalog=ИмяБД; User ID=ИмяПользователя; Password=Пароль; Integrated Security = False;"
Добавлено через 1 минуту
ну и конечно, запихивать метод работающий с данными в обработчик кнопки, некрасиво, да и вдальнейшем у вас с ним будут проблемы!
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
12.10.2018, 14:24  [ТС]
Соединение с базой проходит отлично, все работает, дело в самом запросе

а за замечание спасибо
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.10.2018, 14:35
localhosts, а using-и все подключены?

Добавлено через 57 секунд
возможно вам нужно дописать
C#
1
using System.Data.SqlClient;
Добавлено через 1 минуту
Цитата Сообщение от localhosts Посмотреть сообщение
Соединение с базой проходит отлично, все работает
судя по картинке, это кардинально не так.
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
12.10.2018, 14:37  [ТС]
запрос на добавление - удаление выполняется и все что работает с базой все выполняется, кроме обновления, пишет запрос не верный
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.10.2018, 14:46
усладите мой взор, поменяйте
Цитата Сообщение от localhosts Посмотреть сообщение
C#
1
string query = "UPDATE condidat SET (lastname, name, patronymic, adress, mobile, email, position, photo, age, birthday, status) VALUES " + "('" + lastname + "', '" + name + "', '" + patronymic + "','" + adress + "', '" + mobile + "', '" + email + "', '" + position + "', '" + photo + "', '" + txtAge.Text + "', '" + birthday + "', '" + status + "')";
на
C#
1
2
3
4
string query = "UPDATE condidat SET (lastname, name, patronymic, adress, mobile, email, position, photo, age, birthday, status) VALUES " + Envoirment.NewLine;
query += string.Format("('{0}', '{1}', '{2}','{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}')",
lastname ,name,patronymic,adress,mobile,email,position,photo,age,birthday,status
);
Добавлено через 1 минуту
localhosts, а можно текст ошибки? и стактрейс, только не на картинке, а здесь на форуме выложить в виде текста?

Добавлено через 2 минуты
емае, после того как посмотрел в своей интерпретации увидел кажется увидел ошибку, Вы обновляете данные???
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
12.10.2018, 14:48  [ТС]
да, обнавляю
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.10.2018, 14:51
запрос должен быть формата:
T-SQL
1
2
3
4
UPDATE Таблица -- соответственно имя таблицы
lastname = значение -- всегда должна быть пара Имя столбца знак равно (=) и значение которое следует обновить
-- куча ваших столбцов
WHERE        (lastname='Иванов') -- а здесь условие по которомы вы отбираете запись, которую следует обновить лучше всего если это идентификатор
Так что у вас запрос не верный!

Добавлено через 48 секунд
localhosts, пересмотрите ваш запрос с указанными замечаниями!
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
12.10.2018, 14:52  [ТС]
Спасибо, сейчас попробую
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.10.2018, 14:56
localhosts, после пары столбец значение, если пар более 1, всегда ставится запятая, а если условий отбора несколько, то между скобками ставится "AND"
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
12.10.2018, 15:04
Лучший ответ Сообщение было отмечено localhosts как решение

Решение

localhosts, у тебя неверный запрос. Если это вставка данных, то нужно использовать INSERT
C#
1
2
3
// запрос вставки данных
string query = "INSERT INTO condidat (lastname, name, patronymic, adress, mobile, email, position, photo, age, birthday, status) VALUES " +
"('" + lastname + "', '" + name + "', '" + patronymic + "','" + adress + "', '" + mobile + "', '" + email + "', '" + position + "', '" + photo + "', '" + txtAge.Text + "', '" + birthday + "', '" + status + "')";
Если обновление, то UPDATE в таком виде
C#
1
2
3
4
string query = string.Format(
    "UPDATE condidat SET lastname='{0}', name='{1}', patronymic='{2}', adress='{3}', mobile='{4}', email='{5}', position='{6}', photo='{7}', age='{8}', birthday='{9}', status='{10}'" +
        " WHERE ???",
    lastname, name, patronymic, adress, mobile, email, position, photo, txtAge.Text, birthday, status);
В WHERE части нужно указать условие для выбора конкретной строки которую необходимо обновить. Без этого будут обновлены все строки. Врядли это тебе требуется.
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
12.10.2018, 15:25  [ТС]
а как указать именно ту строку которая открыта в данный момент ?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
12.10.2018, 15:36
localhosts, это зависит от того где и как она "открыта". У тебя похоже какой-то диалог редактирования записи? В таблице по идее есть первичный ключ - запомни его значение когда данные читаются из БД и подставляй его в WHERE блок. Условный пример
C#
1
string sql = "UPDATE ... WHERE Id=" + condidatId;
0
0 / 0 / 3
Регистрация: 23.06.2018
Сообщений: 40
13.10.2018, 03:48  [ТС]
Спасибо всем, но я сделал по другому, убрал функцию из-за которых в итоге пришлось делать обновление базы, и смог обойтись без него, еще раз всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2018, 03:48
Помогаю со студенческими работами здесь

Web API 2.Ошибка при использовании OData запроса с contains
На запрос api/products?$filter=contains(ProductCode,'GDN'),получаю ошибку: "The query specified in the URI is not valid. An unknown...

Плохое качество при выполнении
Добрый день! Не знал куда залить: для новичков или WF, так что пока пусть побудет здесь... Делаю программу маленького размера (размер...

Проблема при выполнении приложения вне VS
Привет всем! Есть клиент WCF. Обычная прога на WinForms. Для доступа к сервису используется WS-security. Проверяется серверный...

Зависание формы при выполнении цикла
Есть бот который выполняет get запросы каждые 30 секунд. Запрос находится в исключении, а исключение в цикле. Так вот, когда выполняется...

Лаги при выполнении метода в потоке
Из библиотеки VkNet поставил в поток юзать метод Users.Search и добавлять каждую строку в metroTextBox, и после ~10к результатов начинаются...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru