.Net for MySQL 数据库中的日期时间格式

Posted

技术标签:

【中文标题】.Net for MySQL 数据库中的日期时间格式【英文标题】:DateTime formatting in .Net for MySQL database 【发布时间】:2011-01-01 21:43:23 【问题描述】:

如何在 C# 中格式化 DateTime.Now 的字符串结果以插入到 DATETIME 类型的 mysql 数据库表列中?

我尝试了以下方法但没有成功:

insert blah 
  (Id, Content, DateCreated) 
  select 123, 'Blah blah blah', 1/5/2010 9:04:58 PM

insert blah 
  (Id, Content, DateCreated) 
  select 123, 'Blah blah blah', '1/5/2010 9:04:58 PM'

【问题讨论】:

不确定 MySQL,对于 SQL Server,我使用 "yyyy-MM-dd HH:mm:ss" 【参考方案1】:

不要在查询中输入文字日期,而是使用参数。这样您就不必担心格式。它对于用户输入的字符串也更安全,因为它可以防止 SQL 注入。

command.Text = "insert into myTable(myDate) values(?dateParam)";
command.Parameters.Add("?dateParam", theDate);

【讨论】:

始终使用如下参数:所有您的数据类型,而不仅仅是日期时间。【参考方案2】:

使用参数化的MySqlCommand 而不是构建您自己的查询并将 DateTime 作为参数传递给。无需格式化。

【讨论】:

以上是关于.Net for MySQL 数据库中的日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章

如何将第二个(隐藏)值添加到 datatables.net 中的单元格?

mysql 时间转换 用EXCEL实现MySQL时间戳格式和日期格互转

无法将日期选择器添加到 C# .NET gridview 单元格

根据状态将状态日期插入gridview单元格

经验与坑MyBatis+MySQL 返回格式化日期以及动态表名和字段名

MySQL 日期格式