我试图将数据插入到我的压缩数据库中,我收到了这个错误:
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();
有人想出问题吗?
答案 0 :(得分:3)
有人想出问题吗?
只需丢弃USE
子句并执行此查询:
INSERT INTO Movie(title, ean) VALUES(?,?)
USE
是T-SQL中数据库之间的上下文切换子句,此处不适用。
答案 1 :(得分:0)
你的commandtext是参数化方面的错误。尝试使用@title
和@ean
而不是?,?
。像这样;
cmd.CommandText = "INSERT INTO Movie(title, ean) VALUES(@title, @ean)";
也删除USE Movie
部分。
查看C# SqlParameter
这篇文章很棒。
答案 2 :(得分:0)
尝试:
USE Movie; INSERT INTO Movie(title, ean) VALUES(?,?)
注意;
IIRC,这与SQL中的GO
相同。