我遇到了查询问题,得到了类似这样的东西
command.CommandText = "SELECT " +
"COUNT(a.`id`) " +
"FROM " +
"`messageaccess` a " +
"WHERE " +
"a.`Users_LOGIN` = '" + Settings.UserLogin + "' " +
"AND a.`Status` = '" + Enums.MessageStatus.New + "' " +
"AND a.`FOLDER` = '" + Enums.MessageFolder.INBOX + "'" +
"AND a.`ShowAlert` = '" + Enums.YesNo.No + "'" +
"AND a.`Postponed` <= " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "";
但是sql抛出异常 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“14:40:37”附近使用的正确语法
尝试了不同的组合,但没有任何效果:(
最佳答案
简单的答案是不要将值直接嵌入到 SQL 中。
使用参数化的SQL语句,指定参数值为DateTime.Now
,一切都会好起来的:
- 您的 SQL 将更易于阅读(因为它只是是代码,而不是数据)
- 您无需担心数字和日期等内容的格式
- 您不会容易受到 SQL injection attacks 的攻击
关于c# - DateTime.Now 到 mysql 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3635812/