Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Влад_1996
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 2
1

подскажите, пожалуйста, что не в синтаксисе в инструкции INSERT INTO

21.01.2020, 04:32. Просмотров 322. Ответов 1

Visual Basic
1
2
3
4
5
6
7
8
9
10
string query = "INSERT INTO " + cb[st] + " (";
                    string[] tb = new string[7];
                    if (y >= 4) { tb[0] = textBox2.Text; tb[1] = textBox3.Text; tb[2] = textBox4.Text; }
                    if (y >= 7) { tb[3] = textBox5.Text; tb[4] = textBox6.Text; tb[5] = textBox7.Text; }
                    for (int i = 1; i < y - 1; i++) query += x[i] + ", ";
                    query += x[y - 1] + ") VALUES ('";
                    for (int i = 1; i < y - 1; i++) query += tb[i-1] + "', '";
                    query += tb[y - 2] + "')";
                OleDbCommand command = new OleDbCommand(query, myConnection);
                command.ExecuteNonQuery();
// y - количество столбцов в таблице, x - название столбцов, cb[st] - название таблицы бд Access
// все названия скопированы и работают как надо, отображая таблицу в dataGridView
// поля в таблице бд тоже скопированы, следовательно имеют одинаковые ограничения на текстовый и числовой форматы
// связи во всех таблицах один ко многим с одинаковыми параметрами (отмечены все три галочки)

при y = 7 работает как надо. вопрос: почему один и тот же код то работает, то выдает ошибку?

рабочая строка:
INSERT INTO dokumenti (Id_knigi, registracionniy_nomer_dokumenta, data_vidachi, data_vozvrata_planiruemaya, data_vozvrata_fakticheskaya, Id_lichnaya_kartochka_abonenta) VALUES ('4', '230240', '10.12.2019 0:00:00', '10.01.2020 0:00:00', '09.01.2020 0:00:00', '2')

нерабочая строка:
INSERT INTO roli (Id_sotrudniki, login, password) VALUES ('3', '111', '222')

System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."

Изначально это исключение было создано в этом стеке вызовов:
Visual Basic
1
2
3
4
5
6
7
8
9
10
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(System.Data.OleDb.OleDbHResult)
    System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(System.Data.OleDb.tagDBPARAMS, out object)
    System.Data.OleDb.OleDbCommand.ExecuteCommandText(out object)
    System.Data.OleDb.OleDbCommand.ExecuteCommand(System.Data.CommandBehavior, out object)
    System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, string)
    System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
    Donchenko02.Form2.button3_Click(object, System.EventArgs) в Form2.cs
    System.Windows.Forms.Control.OnClick(System.EventArgs)
    System.Windows.Forms.Button.OnClick(System.EventArgs)
    System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
...
[Стек вызовов обрезан]

также именно в таблице roli не работает и UPDATE, а в остальных таблицах работает, но SELECT и DELETE работают
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2020, 04:32
Ответы с готовыми решениями:

Что такое блоки и инструкции, вложенные инструкции и главные инструкции?
Что это такое?

Ошибка в синтаксисе INSERT INTO
Уважаемые опытные да бывалые, не сочтите за труд наставить нуба на путь истинный. Пишу таблицу...

Ошибка в синтаксисе INSERT INTO
Всем привет, ругается на синтаксис INSERT INTO, не вижу ошибку. private void...

Ошибка в синтаксисе INSERT INTO
begin ADOquery1.SQL.Clear; ADOQuery1.SQL.Add('INSERT INTO maintable (FIO, phone, trable,...

Конфликт инструкции insert
При попытке внести в базу данные, но выводит вот такую вот ошибку (первое вложение). В таблице...

1
Влад_1996
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 2
30.01.2020, 02:49  [ТС] 2
Проблема решена. login или password являются регулярными выражениями, поэтому их следует помещать в квадратные скобки.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2020, 02:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Подзапрос в инструкции INSERT
Добрый день. Стоит задача заполнить таблицу в базе данных макросом из Excel, при заполнении таблицы...

Ошибка инструкции INSERT INTO
Форумчане, подскажите в чем ошибка синтаксиса: Private Sub Кнопка342_Click() DoCmd.RunSQL...

Конфликт инструкции INSERT с ограничением
FOREIGN KEY &quot;FK__Поставка__Код__48CFD27E&quot;. Конфликт произошел в базе данных &quot;buslik3&quot;, таблица...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.