Получение ошибки «System.Data.SqlClient.SqlException:« Неверный синтаксис рядом с «)». » - PullRequest
0 голосов
/ 24 марта 2020

Мне действительно нужна помощь с этой ошибкой, я новичок в C#, поэтому она может быть или не быть очевидной.

Ошибка

System.Data Исключение Я не могу найти правильное решение. Это происходит по этой строке:

cmd1.ExecuteNonQuery();

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Как упомянул Уиллман, в вашем операторе sql пропущено ключевое слово Value.

Вы можете написать оператор INSERT INTO двумя способами.

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Если вы добавляете значения для всех столбцов таблицы не нужно указывать имена столбцов в запросе SQL.

INSERT INTO table_name
VALUES (value1, value2, value3, ...);
0 голосов
/ 24 марта 2020

В вашем тексте команды для вставки строки отсутствует некоторая информация.

В настоящее время у вас есть

cmd1.CommandText = "Insert into registeration ('"+ textBox1.Text  +"','"+ textBox2.Text  +"','"+  textBox3.Text  +"','"+  textBox4.Text  +"','"+  textBox5.Text  +"')"; //This allows data to be inputted in the database. Text box 1,2,3,4,5 are linked to firstnale, lastname etc

, но синтаксис команды Insert into равен

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Вы пропустили указание имен столбцов, для которых вы вставляете значения. Вы не дали нам достаточно информации, чтобы знать, как называются ваши столбцы, но ваша строка кода должна выглядеть примерно так:

//This allows data to be inputted in the database. Text box 1,2,3,4,5 are linked to firstnale, lastname etc
cmd1.CommandText = "Insert into registeration (column1, column2, column3, column4, column5) VALUES ('"+ textBox1.Text  +"','"+ textBox2.Text  +"','"+  textBox3.Text  +"','"+  textBox4.Text  +"','"+  textBox5.Text  +"')"; 

, где column1, column2, column3, column4, column5 заменены фактическими именами ваших столбцов.

Когда вы обнаружите исключение SQL, возникающее в вашем коде C#, при попытке построить вашу строку в отдельной переменной, которую вы затем передаете в CommandText, чтобы вы могли пройти по коду и отладить, и потенциально Вырежьте и вставьте всю объединенную строку в окно запроса, чтобы вы могли запускать и отлаживать SQL отдельно от вашего приложения.

В качестве дополнительного примечания вам необходимо провести исследование SQL Атаки с помощью инъекций , потому что, создавая свои команды SQL непосредственно из пользовательских полей ввода, вы очень сильно открываете себя для этой уязвимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...