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

Не работает добавление в базу SQL

07.06.2022, 12:53. Показов 1392. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не работает добавление в базу выдаёт ошибку.
Вот запрос
C#
1
 Energy.Query(String.Format(@"INSERT INTO Object (NameObject,Kategori,Bereg,Pastoianie,ID_Ychastka,NuberMar,ID_Pek) VALUES ('" + textBox6.Text + "','" + comboBox6.SelectedValue + "','" + textBox5.Text + "'," + textBox3.Text + "," + comboBox5.SelectedValue + ",'" + textBox4.Text + "'," + comboBox4.SelectedValue + ")"));
C#
1
2
3
4
5
6
7
8
9
 public static void Query(string query) // основа для запросов к бд
        {           
            SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand();
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
        }
В чём может быть проблема

Добавлено через 1 час 1 минуту
System.Data.SqlClient.SqlException: "Неправильный синтаксис около конструкции ","."
эту ошибку на поле типа float
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2022, 12:53
Ответы с готовыми решениями:

Не выполняется добавление в базу MS SQL
Здравствуйте! Подскажите пожалуйста причины почему может не выполняется добавление в базу значений. Внимание! база MS SQL, запрос...

Добавление картинки в sql базу
Такой вопрос, у меня на форме есть picturebox. И есть sql server база, в ней таблица с полем Image. Как добавить картинку из picturebox в...

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

27
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 13:13
Цитата Сообщение от Danda Посмотреть сообщение
эту ошибку на поле типа float
Вы неправильно формируете запрос. Непраильно как в смысле получающейся строки запроса, так и самого подхода к их формированию.

Конкретно тут вам указывают, что ваше дробное число содержит запятую вместо точки.
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 13:15  [ТС]
Можно более поточнее или ресурсы где можно прочитать?
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 13:19
Цитата Сообщение от Danda Посмотреть сообщение
C#
1
String.Format
Если уж используете String.Format, то зачем вставляете нужные строки через конкатенацию (+), а не собственно форматные вставки?
C#
1
2
3
4
String.Format("INSERT INTO Object (NameObject,Kategori,Bereg,Pastoianie,ID_Ychastka,NuberMar,ID_Pek) " +
    "VALUES ('{0}','{1}','{2}',{3},{4},'{5}',{6})",
    textBox6.Text, comboBox6.SelectedValue, textBox5.Text, textBox3.Text,
    comboBox5.SelectedValue, textBox4.Text, comboBox4.SelectedValue);
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 13:21  [ТС]
Я так уже делал но всё рано таже ошибка
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 13:21
Но это не избавит вас от работы по правильному преобразованию строк из элементов управления в параметры запроса.
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 13:27  [ТС]
То есть получается что данная ошибка System.Data.SqlClient.SqlException: "Неправильный синтаксис около конструкции ","."
в коде
C#
1
2
3
4
5
6
7
8
9
public static void Query(string query) // основа для запросов к бд
        {
            SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand();
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
        }
выдаётся из-за того что не получается нормально конвертировать данные.
Потому что когда я делал фильтрацию в диапазонах при попытке ввода значения с плавающей запятой выдавала такую же ошибку.
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 13:35
Цитата Сообщение от Danda Посмотреть сообщение
Потому что когда я делал фильтрацию в диапазонах при попытке ввода значения с плавающей запятой выдавала такую же ошибку.
Потому что не надо напрямую пихать текст из полей ввода в запрос. Сначала надо получить число, а потом уже его добавлять в запрос:
C#
1
2
float value = Convert.ToSingle(textBox1.Text);
string query = String.Format("INSERT INTO some_table (some_column) values ('{0}')", value);
Ну а самое правильное - использовать параметы запроса
C#
1
2
3
4
            SqlCommand command = new SqlCommand("INSERT INTO some_table (some_column) values (@p1)");
            command.Parameters.Add(new SqlParameter("p1", value));
            command.Connection = connection;
            command.ExecuteScalar();
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 13:52  [ТС]
То есть создать новую функцию или же изменить эту
C#
1
2
3
4
5
6
 SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand();
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
Это закинуть в определение перед основным запросом
C#
1
2
float value = Convert.ToSingle(textBox1.Text);
string query = String.Format("INSERT INTO some_table (some_column) values ('{0}')", value);
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 13:59
Цитата Сообщение от Danda Посмотреть сообщение
То есть создать новую функцию или же изменить эту
Как вам будет удобнее.
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 14:26  [ТС]
C#
1
2
3
4
5
6
7
 public static void Queryy(string queryy)
        {
            SqlCommand command = new SqlCommand("INSERT INTO Object (Pastoianie) values (@p1)");
            command.Parameters.Add(new SqlParameter("p1", v[B][/B]alue));
            command.Connection = [B]connectionn[/B];
            command.ExecuteScalar();
        }
Выдаёт ошибки

Добавлено через 38 секунд
Извини коне что за глупые вопросы

Добавлено через 18 минут
Я всё равно не понял как решить проблему.
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 14:50
Цитата Сообщение от Danda Посмотреть сообщение
Выдаёт ошибки
Вам бы для начала общие моменты программирования подтянуть. Методом Ctrl+C Ctrl+V много не напрограммируете. Зачем вы вставили кусок кода в отдельную функцию? Куда из неё подевались объекты connection и value? "Выдаёт ошибки" - а читать вы их пробовали?
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 15:05  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
 public static void Query(string query) // основа для запросов к бд
        {
            SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            // SqlCommand command = new SqlCommand();
            SqlCommand command = new SqlCommand("INSERT INTO Object (Pastoianie) values (@p1)");
            command.Parameters.Add(new SqlParameter("p1", value));
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
        }
Даже если так он не определяет Value
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 15:22
Цитата Сообщение от Danda Посмотреть сообщение
Даже если так он не определяет Value
А это где?
C#
1
float value = Convert.ToSingle(textBox1.Text);
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 15:34  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 public static void Query(string query) // основа для запросов к бд
        {
            float value = Convert.ToSingle(this.textBox3.Text);
          //  string query = String.Format("INSERT INTO Object (Pastoianie) values ('{0}')", value);
            SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            // SqlCommand command = new SqlCommand();
            SqlCommand command = new SqlCommand("INSERT INTO Object (Pastoianie) values (@p1)");
            command.Parameters.Add(new SqlParameter("p1", value));
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
        }
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 15:37
Цитата Сообщение от Danda Посмотреть сообщение
C#
1
command.CommandText = String.Format(query);
Это зачем? Тело запроса уже передаётся в конструктор command.
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 15:43  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public static void Query(string query) // основа для запросов к бд
        {
            Form1 form = new Form1();
            float value = Convert.ToSingle(form.textBox3.Text);
          //  string query = String.Format("INSERT INTO Object (Pastoianie) values ('{0}')", value);
            SqlConnection connection = new SqlConnection(ConnectionString);
            connection.Open();
            // SqlCommand command = new SqlCommand();
            SqlCommand command = new SqlCommand("INSERT INTO Object (Pastoianie) values (@p1)");
            command.Parameters.Add(new SqlParameter("p1", value));
            command.CommandText = String.Format(query);
            command.Connection = connection;
            command.ExecuteScalar();
        }
Вот так сделал

Добавлено через 1 минуту
Но что дальше
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 15:44
Цитата Сообщение от Danda Посмотреть сообщение
Вот так сделал
И?

Форма-то зачем там создаётся? Такое впечатление, что вы просто тыкаете на удачу: зайдёт - не зайдёт. Предыдущее сообщение вообще проигнорировали.
0
0 / 0 / 0
Регистрация: 29.03.2021
Сообщений: 74
07.06.2022, 15:44  [ТС]
Выдало вот такую ошибку
Миниатюры
Не работает добавление в базу SQL  
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
07.06.2022, 15:46
Почему метод static? Где вообще этот метод определён? Почему вы вообще решили городить этот метод, а не править имеющийся код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2022, 15:46
Помогаю со студенческими работами здесь

Добавление в базу Sql через C#
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Добавление записей из базу данных Access в базу данных SQL
Здравствуйте,пытаюсь добавить записи из базы данных Access в базу данных SQL,но не могу разобраться с подключениями,может ли кто подсказать...

PHP SQL Добавление данных в базу
Все привет! У меня есть скрипт добавления данных в базу. В том числе и название изображения. Помогите сделать так чтобы данные изображения...

Установка запрета на добавление в базу SQL
Есть форманужно что бы если data_reservation(textBox1) = id_track(comboBox1)(введенные данные сравниваются с данными в базе) то если...

Авто добавление ID в базу SQL через форму
есть таблица в ней есть поля.id_reservation..это поле Ключевое...нужно прописать запрос на добавление но с условием что ID я вводить не...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru