我收到以下错误:
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
代码中导致此类错误的问题是什么?
答案 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 + "\')";