这个 SQLCe 查询有啥问题?
Posted
技术标签:
【中文标题】这个 SQLCe 查询有啥问题?【英文标题】:Whats wrong with this SQLCe Query?这个 SQLCe 查询有什么问题? 【发布时间】:2009-07-14 14:37:45 【问题描述】:在过去的一个小时里,我一直在尝试这个查询的不同变体,但我在用户名处出现错误,并且用户名只是一个普通的字符串,我从不包含特殊字符或任何特殊字符的 xml 文件中获取用户名
我正在使用 SLQ compact 3.5
P.S 我试过用吗?而不是@username 也不起作用 除“日期”外,所有字段均为“nchar”
C = nodeItem["user_from"].InnerText;
avatar = nodeItem["user_from_avatar"].InnerText;
string msgText = nodeItem["message"].InnerText;
DateTime dt=DateTime.Now;
string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(@username,@messige,@userpic,@thedate)";
using (SqlCeCommand cmd = new SqlCeCommand(sql, connection))
cmd.Parameters.Add("@username",C);
cmd.Parameters.Add("@messige", msgText.ToString());
cmd.Parameters.Add("@userpic", avatar.ToString());
cmd.Parameters.Add("@thedate", dt);
connection.Open();
cmd.ExecuteNonQuery();
adapter.Update(data);
connection.Close();
错误消息:(来源:clip2net.com) 谢谢 , 尼古拉
【问题讨论】:
你得到什么错误信息? 【参考方案1】:尝试用方括号括起“用户”、“[用户]”(可能还有日期)。
【讨论】:
【参考方案2】:在SqlCe中你不能直接使用参数我的意思是这句话:
string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(@username,@messige,@userpic,@thedate)";
错了。应该是
string sql = "INSERT INTO posts(user,msg,avatar,date) VALUES(?,?,?,?)";
然后是:
using (SqlCeCommand cmd = new SqlCeCommand(sql, connection))
cmd.Parameters.Add("@username",C);
cmd.Parameters.Add("@messige", msgText.ToString());
cmd.Parameters.Add("@userpic", avatar.ToString());
cmd.Parameters.Add("@thedate", dt);
connection.Open();
cmd.ExecuteNonQuery();
adapter.Update(data);
connection.Close();
在 SqlCe 中,参数作为“?”传递
希望对你有帮助
【讨论】:
以上是关于这个 SQLCe 查询有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章