С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63

Ошибка в запросе к БД

21.01.2014, 15:24. Показов 1124. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста, уже завтра сдача курсача. Уже второй день мучаюсь, пытаюсь исправить ошибку INSERT INTO при попытке изменить данные в 2-х таблицах, т. е. в одной таблице данные изменяются а в другой нет, ошибку выводит.
Хочу изменить данные в таблицах Адрес и Квартиросъемщик. Название формы в моей программе: RedakAdres.cs


Вот собственно код, но в самой проге думаю лучше будет понятно в чем ошибка(сразу говорю там много мусора)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
            using (cn = new OleDbConnection(adres))
            {
                try
                {
                    OleDbCommand Update1 = new OleDbCommand();
                    Update1.Connection = cn;
                    cn.Open();
                    Update1.CommandText = "Update Квартиросъемщик set ФИО = ?, Количество_проживающих = ?, Площадь = ?, Телефон = ? WHERE Номер_абонента =" + id;
 
                    Update1.Parameters.Add("P_ФИО", "ФИО").Value = textBox5.Text;
                    Update1.Parameters.Add("P_Количество_проживающих", "Количество_проживающих").Value = Convert.ToInt32(textBox12.Text);
                    Update1.Parameters.Add("P_Площадь", "Площадь").Value = Convert.ToInt32(textBox9.Text);
                    Update1.Parameters.Add("P_Телефон", "Телефон").Value = Convert.ToInt32(textBox10.Text);
                    Update1.ExecuteNonQuery();
                    cn.Close();
                    MessageBox.Show("Запись успешно отредактированна");
 
                    //this.Close();
                }
                catch (OleDbException ex)
                {
                    MessageBox.Show(ex.Message);
                }
 
            }
 
 
           using (cn = new OleDbConnection(adres))
            {
                try
                {
                   cn.Open();
                   string strOleDB = "UPDATE Адрес SET Корпус =" + Convert.ToInt32(textBox6.Text) + ", Квартира=" + Convert.ToInt32(textBox7.Text) + ", Дом =" + Convert.ToInt32(textBox8.Text) +
   ", Кол-во_комнат=" + Convert.ToInt32(textBox11.Text) + ", Код_улицы=" + Convert.ToInt32(comboBox1.SelectedIndex + 1) + " WHERE Номер_абонента = " + id;
                   
                    Update2.ExecuteNonQuery();
                    cn.Close();
                    MessageBox.Show("Запись успешно отредактированна");
                    //this.Close();
                }
                catch (OleDbException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
Вложения
Тип файла: rar Новая папка.rar (3.01 Мб, 6 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2014, 15:24
Ответы с готовыми решениями:

Ошибка в запросе на Редактирование: ошибка синтаксиса (пропущен оператор)
string strSQL1 = "UPDATE SET .='" + dataGridView1.CurrentRow.Cells.Value.ToString() + "',.='" +...

Ошибка в запросе на вставку: ошибка синтаксиса
private void button2_Click(object sender, EventArgs e) { goods = null; goods = new ADODB.Recordset();...

Ошибка в запросе
Есть запрос, который ищет в заданной папке слово и заменяет его на нужное: Запрос = Новый Запрос("ВЫБРАТЬ ...

10
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
21.01.2014, 19:15
Цитата Сообщение от dimok0007 Посмотреть сообщение
ошибку выводит.
Какую?

Не по теме:

Цитата Сообщение от dimok0007 Посмотреть сообщение
уже завтра сдача курсача.
на каком курсе сейчас такие курсовые пишут?

0
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63
21.01.2014, 19:21  [ТС]
Цитата Сообщение от freeba Посмотреть сообщение
Какую?

Не по теме:


на каком курсе сейчас такие курсовые пишут?

Ошибка синтаксиса в инструкции UPDATE. - вот что пишет. Там в проге нажимаешь на кнопку Клиенты, затем Редактировать и можете посмотреть в каком именно месте возникает ошибка. Данные для входа в прогу: login - admin; password - 12ivt
на 2 курсе, согласен что там у меня прога на самом низком уровне, но все же.
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
21.01.2014, 19:51
Цитата Сообщение от dimok0007 Посмотреть сообщение
Ошибка синтаксиса в инструкции UPDATE.
Собственно вот ответ. Перепишите второй запрос по образу и подобию первого.
0
21.01.2014, 19:52

Не по теме:



ВУЗ, ВУЗ в студию. Это в где путают UPDATE и INSERT (код качнуть не решился - мало ли), и
в запросах с параметрами применяют "технике": "как сказали в коридоре, так и делаем"?

0
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63
21.01.2014, 20:12  [ТС]
Цитата Сообщение от freeba Посмотреть сообщение
Собственно вот ответ. Перепишите второй запрос по образу и подобию первого.
Так я изначально по подобию первого сделал, и не смог найти ошибку, и подумал через другой метод реализовать. Можете все таки-скачать прогу и посмотреть что не так. Вот собственно переделанный код:


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
using (cn = new OleDbConnection(adres))
            {
                try
                {
                    OleDbCommand Update2 = new OleDbCommand();
                    Update2.Connection = cn;
                    cn.Open();
                    Update2.CommandText = "Update Адрес set Корпус = ?, Квартира = ?, Дом = ?, Кол-во_комнат = ?, Код_улицы = ? WHERE Номер_абонента =" + id;
                    Update2.Parameters.Add("P_Корпус", "Корпус").Value = Convert.ToInt32(textBox6.Text);
                    Update2.Parameters.Add("P_Квартира", "Квартира").Value = Convert.ToInt32(textBox7.Text);
                    Update2.Parameters.Add("P_Дом", "Дом").Value = Convert.ToInt32(textBox8.Text);
                    Update2.Parameters.Add("P_Кол-во_комнат", "Кол-во_комнат").Value = Convert.ToInt32(textBox11.Text);
                    Update2.Parameters.Add("P_Код_улицы", "Код_улицы").Value = Convert.ToInt32(comboBox1.SelectedIndex + 1);
 
                    Update2.ExecuteNonQuery();
                    cn.Close();
                    MessageBox.Show("Запись успешно отредактированна");
                    this.Close();
                }
                catch (OleDbException ex)
                {
                    MessageBox.Show(ex.Message);
                }
               
            }
Добавлено через 3 минуты
Цитата Сообщение от паха76 Посмотреть сообщение

Не по теме:



ВУЗ, ВУЗ в студию. Это в где путают UPDATE и INSERT (код качнуть не решился - мало ли), и
в запросах с параметрами применяют "технике": "как сказали в коридоре, так и делаем"?

Да у меня изначально и с Insert-ом были проблемы, пока не нашел ошибку, и машинально написал вместо Update Insert.
ВУЗ - ИТИ
0
21.01.2014, 20:36

Не по теме:


Аццкий адЪ
зачем cn.Close(), если все обернуто в using?
кто-такой this и зачем ему .Close()
ИТИ - это кто? Какая специальность?

0
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63
21.01.2014, 23:26  [ТС]
Цитата Сообщение от паха76 Посмотреть сообщение

Не по теме:


Аццкий адЪ
зачем cn.Close(), если все обернуто в using?
кто-такой this и зачем ему .Close()
ИТИ - это кто? Какая специальность?

cn.Close для того чтобы закрыть подключение к БД(я так понимаю что это не надо?)
this.Close(); - имеется в виду после изменения данных, чтоб окно закрылось автоматически
ИТИ - Инженерно Технический Институт. Специальность: ИВТ - Информатика и вычислительная техника

Добавлено через 2 часа 34 минуты
Цитата Сообщение от freeba Посмотреть сообщение
Собственно вот ответ. Перепишите второй запрос по образу и подобию первого.
Кто-нибудь может мне помочь и сказать в чем именно ошибка? Идеи есть?
0
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63
21.01.2014, 23:50  [ТС]
Кто может подсказать в ошибка?
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
22.01.2014, 00:24
Цитата Сообщение от dimok0007 Посмотреть сообщение
Кто может подсказать в ошибка?
VS вам все подсказала. Приведите запрос к виду:
SQL
1
2
UPDATE Адрес SET Адрес.Корпус = 12, Адрес.Квартира = 13, Адрес.[Кол-во_комнат] = 14, Адрес.Код_улицы = 15, Адрес.Дом = 16
WHERE (((Адрес.Номер_абонента)=5));
И все заработает. Обратите внимание на квадратные скобки: Адрес.[Кол-во_комнат]
2
3 / 3 / 1
Регистрация: 22.03.2013
Сообщений: 63
22.01.2014, 17:34  [ТС]
Цитата Сообщение от freeba Посмотреть сообщение
VS вам все подсказала. Приведите запрос к виду:
SQL
1
2
UPDATE Адрес SET Адрес.Корпус = 12, Адрес.Квартира = 13, Адрес.[Кол-во_комнат] = 14, Адрес.Код_улицы = 15, Адрес.Дом = 16
WHERE (((Адрес.Номер_абонента)=5));
И все заработает. Обратите внимание на квадратные скобки: Адрес.[Кол-во_комнат]

Заработало. Спасибище вам огромное, выручили очень сильно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.01.2014, 17:34
Помогаю со студенческими работами здесь

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

ошибка в запросе
есть часть запроса: where c.Path LIKE '%' + CAST((c1.ID IN (select ID from tbl_CompanyMission c2 where c2.ParentID =...

Ошибка в запросе
Ребят, у меня запрос в Access выполняется успешно. Когда я делаю запрос к базе из программы через OleDbConnection он выдает ошибку....

Ошибка в запросе к БД
Не понимаю в чем проблема 15й строки:-|

Ошибка в запросе
Добрый вечер! Есть запрос: INSERT INTO uch_plan...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru