日志含义SqlCeExpression被捕获,删除查询错误
本文关键字:删除 查询 错误 SqlCeExpression 日志 | 更新日期: 2023-09-27 17:54:58
我试图插入数据到我的紧凑数据库,我得到了这个错误:
There was an error parsing the query. [ Token line number = 1,Token line offset = 1,Token in error = USE ]
下面是我的代码,大部分是在网上找到的:
SqlCeConnection conn = new SqlCeConnection(@"Data Source=|DataDirectory|'CompactDatabase.sdf");
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "USE Movie INSERT INTO Movie(title, ean) VALUES(?,?)";
cmd.Parameters.AddWithValue("@title", title);
cmd.Parameters.AddWithValue("@ean", ean);
cmd.Prepare();
cmd.ExecuteNonQuery();
谁知道问题出在哪里了?
谁知道问题出在哪里了?
扔掉USE
子句,执行下面的查询:
INSERT INTO Movie(title, ean) VALUES(?,?)
USE
是T-SQL中数据库间的上下文切换子句,在这里不适用
尝试:
USE Movie; INSERT INTO Movie(title, ean) VALUES(?,?)
注意;
IIRC,这与SQL中的GO
相同。
你的命令文本是错误的参数化的一面。尝试@title
和@ean
,而不是?,?
。像这样的;
cmd.CommandText = "INSERT INTO Movie(title, ean) VALUES(@title, @ean)";
删除USE Movie
部分。
查看C# SqlParameter
,这是一篇很棒的文章