c# - DateTime.Now 到 mysql 日期时间

标签 c# mysql datetime

我遇到了查询问题,得到了类似这样的东西

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/

相关文章:

c# - 没有绑定(bind)的ListView行号

c# - WhereListIterator.ToList() 的实现

mysql - 如何使用insert和select语句在表中添加外键?

mysql - 通过比较所有列如果数据为空则更新列

c# - 用随机字节填充列表

c# - 是否有类似 Ext JS 的库,但适用于 C#,尤其是 WPF?

mysql - 基于其他列的自动列号

java - 如何使用joda time格式化固定毫秒数为hh :mm:ss?

python - 两个日期之间的时间(周末除外)

php - 使用 PHP/MySQL 检查过去 24 小时内是否插入了 MySQL 行?