0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 35
1
MS Access

Ошибка синтаксиса в инструкции INSERT INTO

16.01.2021, 10:27. Показов 1978. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, можно попросить помощи с доработкой запроса.

C#
1
2
3
4
5
6
7
8
string[] com = comboBox1.Text.Split(' ');
            int id = int.Parse(com[0]);           
            myConnection = new OleDbConnection(ConnectionString);
            myConnection.Open();
            string query = "INSERT INTO Договор ([КодКлиента], [ОтвЛицо] [ДатаЗаключения], [Услуга], [Сумма]) VALUES(" + id + ", " + textBox2.Text + ",'" + dateTimePicker1.Value + "','" + comboBox3.Text + "','" + textBox1.Text + "')";
            OleDbCommand command = new OleDbCommand(query, myConnection);
            command.ExecuteNonQuery();
            MessageBox.Show("Запись Добавлена!", "Сохранено", MessageBoxButtons.OK, MessageBoxIcon.Information);
Ошибка:
System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."

Таблица в бд состоит из полей: КодКлиента, ДатаЗаключения, Услуга и сумма
Но при выводе в программе должно быть еще одно поле ОтвЛицо
Сделала запрос, но выбивает ошибку, в чем проблема, подскажите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2021, 10:27
Ответы с готовыми решениями:

Ошибка синтаксиса в инструкции INSERT INTO
try { string com = string.Format("INSERT INTO (UserName,...

Ошибка синтаксиса в инструкции insert into
Вроде всё правильно прописал, но всё равно ворчит. Хелп, где я мог неправильно составить запрос? ...

Ошибка синтаксиса в инструкции INSERT INTO
Здравствуйте. Пишу программу на C#, пытаюсь сделать форму для заполнения таблицы. При нажатии на...

Ошибка синтаксиса в инструкции INSERT INTO
Добрый вечер! Помогите пожалуйста. Есть база на Access. Надо через форму C# добавить данные. В...

4
Администратор
Эксперт .NET
16989 / 13348 / 5209
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
16.01.2021, 10:52 2
svetnazore, не хватает запятой после [ОтвЛицо]. Также вам раз за разом повторяют одно и то же - используйте кавычки или, что гораздо лучше, параметры. Кавычек в данном случае их не хватает вокруг textBox2.Text. Приводить пример не буду - исправьте сами. Вместо этот еще раз покажу пример с параметрами.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
string[] com = comboBox1.Text.Split(' ');
int id = int.Parse(com[0]);
myConnection = new OleDbConnection(ConnectionString);
myConnection.Open();
string query = "INSERT INTO Договор ([КодКлиента], [ОтвЛицо], [ДатаЗаключения], [Услуга], [Сумма]) VALUES(@КодКлиента, @ОтвЛицо, @ДатаЗаключения, @Услуга, @Сумма)";
OleDbCommand command = new OleDbCommand(query, myConnection);
command.Parameters.AddWithValue("@КодКлиента", id);
command.Parameters.AddWithValue("@ОтвЛицо", textBox2.Text);
command.Parameters.AddWithValue("@ДатаЗаключения", dateTimePicker1.Value)
command.Parameters.AddWithValue("@Услуга", comboBox3.Text);
command.Parameters.AddWithValue("@Сумма", textBox1.Text);
command.ExecuteNonQuery();
MessageBox.Show("Запись Добавлена!", "Сохранено", MessageBoxButtons.OK, MessageBoxIcon.Information);
0
0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 35
16.01.2021, 11:40  [ТС] 3
OwenGlendower, Я все сделала по вашему примеру, отныне буде использовать только такой запрос.

Но возникла ошибка:
System.Data.OleDb.OleDbException: "Инструкция INSERT INTO содержит неизвестное имя поля 'ОтвЛицо'. Проверьте, что имя задано без ошибок, и повторите операцию."

Помогите исправить пожалуйста, буду очень благодарна.
Возможно проблема в том, что поле "ОтвЛицо" нет в самой бд, только КодКлиента, из него я и вытащила данное поле
0
1496 / 1238 / 244
Регистрация: 04.04.2011
Сообщений: 4,362
16.01.2021, 13:48 4
Если в таблице нет поля, как можно записать в нее значение для него ?

Добавлено через 2 минуты
OwenGlendower, Мисс не читает то, что ей пишут, мисс - писатель
0
Администратор
Эксперт .NET
16989 / 13348 / 5209
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
16.01.2021, 14:12 5
Цитата Сообщение от svetnazore Посмотреть сообщение
Я все сделала по вашему примеру, отныне буде использовать только такой запрос.
Рад слышать.

Цитата Сообщение от svetnazore Посмотреть сообщение
Возможно проблема в том, что поле "ОтвЛицо" нет в самой бд
Именно в этом и проблема. Нужно добавить колонку. Как иначе, то?
0
16.01.2021, 14:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2021, 14:12
Помогаю со студенческими работами здесь

Ошибка синтаксиса в инструкции INSERT INTO
Я уже неоднократно писал про БОЛЬШУЮ, просто ОГРОМНУЮ проблему при добавлении записей в БД....

Ошибка синтаксиса инструкции INSERT INTO
Пишу свою курсовую работу, это интерфейс для БД ACCESS. Написала половину кода, везде работал...

Ошибка синтаксиса в инструкции INSERT INTO.
public partial class Form4 : Form { DataGridView dgv; public Form4() ...

Ошибка синтаксиса в инструкции INSERT INTO
При нажатии на кнопку выдает ошибку "Ошибка синтаксиса в инструкции INSERT INTO" Ссылаясь на...

Ошибка синтаксиса в инструкции INSERT INTO
private void button6_Click(object sender, EventArgs e) { OleDbConnection...

Ошибка синтаксиса в инструкции INSERT INTO
OleDbDataAdapter thisAdapter = new OleDbDataAdapter("select * from Заказ", myCon); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru