我在插入 MSSQL CE 数据库时遇到问题,
locCon.Open();
SqlCeCommand locCmd = locCon.CreateCommand();
locCmd.CommandText = "INSERT INTO user (ID,FName,LName,Email) VALUES('"+this.id+"','"+this.fName+"', '"+this.lName+"','"+this.email+"')";
locCmd.ExecuteNonQuery();
运行这个时我得到
There was an error parsing the query. [Token line number = 1, Token line offset = 13, Token in error = user]
现在我看不出查询有什么问题,尽管这是我第一次使用 MS SQL,我看到 mysql 和 msssql 的语法对于插入来说是相同的。这有明显的问题吗?
谢谢
最佳答案
我认为“user”是数据库中的保留字。尝试替换这个:
INSERT INTO user (ID,FName,LName,Email) VALUES (
这样:
INSERT INTO [user] (ID,FName,LName,Email) VALUES (
(我认为它是 MSSQL CE 的方括号,因为它适用于其他 MSSQL 引擎。)
方括号基本上告诉查询引擎,“这是数据库中对象的标识符。”它们通常用于包装包含空格的数据库对象的名称,因为否则这些名称将无法正确解析。但它对于保留字的对象也很有用。
关于c# - 在 C# 中使用 MSSQL CE 出现错误,并且无法弄清楚原因,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315531/