проблема вставки данных в базу данных с помощью команды sql - PullRequest
0 голосов
/ 23 мая 2019

Я получил следующую ошибку:

Синтаксическая ошибка в операторе INSERT INTO.

Кажется, я не могу найти ошибку. вот код:

if (Request["su"] == "save")
{
     string sqlCommand = "";
     string fileName = "UsersDB.accdb";
     string tableName = "Table 2";
     string website_name, website_psw;
     website_name = Request["psw_name"];
     website_psw = Request["psw"];

     sqlCommand = "INSERT INTO " + tableName + " (fname, lname, umail, upassword, gender, age, uid) ";
     sqlCommand += "VALUES ('"+0+ "','" + Session["umail"].ToString() + "','" + website_psw + "','" + website_name +  "')";
     MyAdoHelper.DoQuery(fileName, sqlCommand);
}

Что касается базы данных, она имеет 4 строки:

uid, uidd, psw_name, psw

Какая проблема в коде, которая приводит к такой ошибке?

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Попробуйте две строки:

sqlCommand = "INSERT INTO " + tableName + " (fname, lname, umail, upassword, gender, 
 age, uid) ";
sqlCommand += "VALUES (\'"+0+ "\',\'" + Session["umail"].ToString() + "\',\'" + 
website_psw + "\',\'" + website_name +  "\')";
0 голосов
/ 23 мая 2019

Похоже, что ваш оператор INSERT указывает 7 столбцов (fname, lname, umail, upassword, пол, возраст, uid) для вставки и только 4 столбца данных.

Имя таблицы с пробелом также может вызвать проблему.Заключение в квадратные скобки должно решить эту проблему.

Ваш SQL должен начинаться следующим образом (если этот текст: «он имеет 4 строки: uid, uidd, psw_name, psw» означает, что ваша таблица имеет 4 столбца):

INSERT INTO [Таблица 2] (uid, uidd, psw_name, psw) ЗНАЧЕНИЯ (...

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