这个 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 查询有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章

SqlCe 参数错误

创建用于在 SQLce 数据库中创建表的 SQL 语句

这个 sequelize 查询有啥问题

Windows Phone 中的 SQLCE 性能很差

这个 UPDATE 查询有啥问题?

这个 SQL 查询有啥问题[重复]