c# - 在 C# 中使用 MSSQL CE 出现错误,并且无法弄清楚原因,

标签 c# sql-server sql-server-ce

我在插入 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/

相关文章:

sql-server - @@ERROR 和/或 TRY - CATCH

sql - 删除没有主键的重复项

c# - SQL CE native 异常0xc0000005

sql-server - 如何解码 D7 中的 XML Blob 字段

vb.net - 使用 .MDF 文件(sql server 2008)+ ClickOnce 部署 VB.net 应用程序

c# - 计算机状态( sleep 、休眠、锁定等)Windows 10

c# - 具有无限循环和 thread.sleep 高 CPU 使用率的多线程

c# - 将 WPF xaml 绑定(bind)到 ViewModel 而不构建它

c# - Identity 2.0.0 中的 ApplicationUser 和 ApplicationRole 导航属性

mysql - LEFT JOIN 与 GROUP BY 与 WHERE 子句以及 OR 在 sql