Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.03.2019
Сообщений: 8
.NET 4.x

You have an error in your sql syntax

01.07.2019, 00:59. Показов 1956. Ответов 4

Студворк — интернет-сервис помощи студентам
Начал работать с MySQL через Visual Studio. Создал простенькую базу данных о складском учете. При написании запросов к бд select проходит без проблем, а вот с insert их довольно много. Пытаюсь вставить данные с формы, но при запуске все время выходит ошибка, указанная в заголовке. Пересмотрел кучу сайтов, но решения найти не смог. Помогите, приму любую помощь.
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
46
47
48
49
50
51
52
try
                {
                    cn.Open();
                    query = "INSERT INTO товары на складе (Наименование, № склада, Контрагент, Количество, Ед. изм., Стоимость) VALUES ('@Name', @num, '@kon', @kol, '@ed', @stoim);";
                    cmd = new MySqlCommand(query, cn);
                    //создаем параметры и добавляем их в коллекцию
                    cmd.Parameters.AddWithValue("@Name", textBox5.Text);
                    cmd.Parameters.AddWithValue("@num", Convert.ToInt32(comboBox2.Text));
                    cmd.Parameters.AddWithValue("@kon", textBox1.Text);
                    cmd.Parameters.AddWithValue("@kol", Convert.ToInt32(textBox6.Text));
                    cmd.Parameters.AddWithValue("@ed", textBox7.Text);
                    cmd.Parameters.AddWithValue("@stoim", Convert.ToInt32(textBox8.Text));
                    cmd.ExecuteNonQuery();
                    cn.Close();
                    cn.Open();
                        query = "INSERT INTO контрагенты (Наименование, Юридический адрес, № договора, Телефон) VALUES ('@Name', '@ur', '@num', '@tel');";
                        cmd = new MySqlCommand(query, cn);
                        //создаем параметры и добавляем их в коллекцию
                        cmd.Parameters.AddWithValue("@Name", textBox1.Text);
                        cmd.Parameters.AddWithValue("@ur", textBox2.Text);
                        cmd.Parameters.AddWithValue("@num", textBox3.Text);
                        cmd.Parameters.AddWithValue("@tel", textBox4.Text);
                        cmd.ExecuteNonQuery();
                        cn.Close();
                    if (comboBox1.Text == "Приход")
                    {
                        cn.Open();
                        query = "INSERT INTO приход (Контрагент) VALUES ('@Name');";
                        cmd = new MySqlCommand(query, cn);
                        //создаем параметры и добавляем их в коллекцию
                        cmd.Parameters.AddWithValue("@Name", textBox1.Text);
                        cmd.ExecuteNonQuery();
                        cn.Close();
                    }
                    if (comboBox1.Text == "Расход")
                    {
                        cn.Open();
                        query = "INSERT INTO расход (Контрагент) VALUES ('@Name');";
                        cmd = new MySqlCommand(query, cn);
                        //создаем параметры и добавляем их в коллекцию
                        cmd.Parameters.AddWithValue("@Name", textBox1.Text);
                        cmd.ExecuteNonQuery();
                        cn.Close();
                    }   
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            else MessageBox.Show("Введите данные полностью!");
        }
Миниатюры
You have an error in your sql syntax  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2019, 00:59
Ответы с готовыми решениями:

Ошибка SQL запроса #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax t
Помогите пожалуйста! CREATE TABLE `tickets` ( `id` int(4) NOT NULL auto_increment, `user` int(11) NOT NULL default '0', ...

PDO - Syntax error or access violation: 1064 You have an error in your SQL syntax
public function getAllGategoryId(){ $sql = "SELECT id_cat FROM category WHERE show = yes...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
чёто не робит <?php include ("db.php"); session_start(); if (!empty($_SESSION) and !empty($_SESSION)){ if (isset($_GET))...

4
Эксперт .NET
 Аватар для Usaga
14313 / 9397 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
01.07.2019, 03:30
_Runik, всмотритесь в свой SQL-запрос в четвёртой строке. Ничего не замечаете там? Если нет, то поставьте себя на место СУБД и попытайтесь мысленно разобрать такой запрос.

Подсказка: ахинея в названии таблицы, в названиях колонок, в передаче параметров.
0
0 / 0 / 0
Регистрация: 17.03.2019
Сообщений: 8
01.07.2019, 04:42  [ТС]
С параметрическими запросами работаю в первый раз, причем на разных сайтах почему-то синтаксис отличается. Поэтому точно не знаю как.
C#
1
2
3
4
5
6
7
8
9
10
11
query = "INSERT INTO `товары на складе` (`Наименование`, `№ склада`, `Контрагент`, `Количество`, `Ед. изм.`, `Стоимость`) VALUES ('@Name', @num, '@kon', @kol, '@ed', @stoim);";
                    cmd = new MySqlCommand(query, cn);
                    //создаем параметры и добавляем их в коллекцию
                    cmd.Parameters.AddWithValue("@Name", textBox5.Text);
                    cmd.Parameters.AddWithValue("@num", Convert.ToInt32(comboBox2.Text));
                    cmd.Parameters.AddWithValue("@kon", textBox1.Text);
                    cmd.Parameters.AddWithValue("@kol", Convert.ToInt32(textBox6.Text));
                    cmd.Parameters.AddWithValue("@ed", textBox7.Text);
                    cmd.Parameters.AddWithValue("@stoim", Convert.ToInt32(textBox8.Text));
                    cmd.ExecuteNonQuery();
                    cn.Close();
Добавлено через 20 минут
Или так?
C#
1
query = "INSERT INTO товары на складе  VALUES (NULL, @Name, @num, @kon, @kol, @ed, @stoim)";
0
Эксперт .NET
 Аватар для Usaga
14313 / 9397 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
01.07.2019, 06:01
Лучший ответ Сообщение было отмечено _Runik как решение

Решение

_Runik, идентификаторы объектов (таблиц, колонок, представлений, хранимых процедур и др.) принято:
1) Писать по-английски;
2) Писать одним словом;

В противном случае заворачивайте такие идентификаторы в апострофы.

Параметры нужно передавать без кавычек\апострофов, иначе вы передаёте строку, а не параметр.
0
0 / 0 / 0
Регистрация: 17.03.2019
Сообщений: 8
01.07.2019, 07:15  [ТС]
Спасибо, помогли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2019, 07:15
Помогаю со студенческими работами здесь

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
У меня когда выполняется запрос на подключение с базой данных выскочила какая-то ошибка. Помогите, пожалуйста. Официальный...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SQL - запрос : CREATE TABLE IF NOT EXISTS `data` ( `id` int(5) NOT NULL auto_increment, `desсriрtion` text NOT NULL, `text`...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
При написании обработчика данных формы ввода,произошла проблема с MySQL,браузер показывает такое сообщение : You have an error in your SQL...

Ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''','')'
Ребята, такая проблема: Есть денвер (PHPmyAdmin и т.д.) в каталоге www лежит мой сайт. В файле сайта - "Untitled-2.php" есть...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('','user
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
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. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru