使用sql命令将数据插入数据库时​​出现问题

时间:2019-05-23 12:11:38

标签: c# sql asp.net database

我收到以下错误:

  

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 :(得分:1)

您的INSERT语句似乎指定要插入的7列(fname,lname,umail,upassword,gender,age,uid),并且仅指定4列数据。

其中包含空格的表名称也可能会引起问题。用方括号括起来应该可以解决该问题。

您的SQL应该像这样开始(如果此文本:“它有4行:uid,uidd,psw_name,psw”表示您的表有4列):

插入[表2](uid,uidd,psw_name,psw)值(...

答案 1 :(得分:-1)

尝试这两行:

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