【问题标题】:MySqlDateTime to System.DateTime conversionMySqlDateTime 到 System.DateTime 的转换
【发布时间】:2011-02-13 07:54:35
【问题描述】:

好吧,总的来说,我对数据库和 C# 非常陌生,但我正在使用一段将数据集数据导出到 Excel 文件的代码,并且它对日期/时间格式存在问题。我正在使用 MySQL 连接器,因此行类型是 MySql.Data.Types.MySqlDateTime。有什么快速的方法可以将它转换为 System.DateTime 以便我可以将它直接插入到 case 语句中?

这是我使用的代码的链接,我逐字复制它,所以我没有在这里复制和粘贴它。它抛出一个 MySql.Data.Types.MySqlDateTime 未处理异常: Code Project 提前感谢您的帮助。

【问题讨论】:

    标签: c# .net mysql visual-studio-2010


    【解决方案1】:

    只需致电GetDateTime()

    【讨论】:

      【解决方案2】:

      我所做的是将查询中的输出格式化为 C# 日期时间格式,并解析结果:

      MySql 命令

      选择 DATE_FORMAT(NOW(), '%Y-%m-%d %T') 作为'日期';

      C#

      日期时间 x; DateTime.tryParse(results["Date"], out x);

      如果您需要更多解释,请发表评论并询问:)

      评论更新 假设 appdate 列是日期一:

      SELECT appref, DATE_FORMAT(appdate, '%Y-%m-%d %T') as 'appdate' FROM applications WHERE id > 810000

      【讨论】:

      • 哈哈,请!我原来的 MySQL 查询是 (SELECT appref,appdate FROM applications WHERE id > 810000),我如何将它放入我的 select 语句中?谢谢!
      • -1。这是简单阅读文档的一种性能不佳的替代方案。您需要数据库引擎浪费时间将日期时间格式化为字符串(对于结果集的每一行,这可能是巨大的),这样客户端代码就可以浪费更多时间将字符串解析回日期时间。实际上更容易(就代码而言)做得更好,只需在 MySqlDateTime 对象上调用 GetDateTime()。
      • @P Daddy 这就是我被告知如何去做的方式。如果我没记错的话,当我开始使用 mysql 连接器时,没有任何文档。不过谢谢你告诉我。
      • @P Daddy - 该表有大约 258,000 行,并且性能良好。虽然我没有使用解析部分,因为我不需要它。
      • 或者,就像您所做的那样,您可以模糊地告诉马水在哪里,知道马实际上是马,因此不懂英语。 :)
      猜你喜欢
      • 2013-06-21
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 2011-01-27
      • 1970-01-01
      • 2021-01-02
      • 2014-08-25
      相关资源
      最近更新 更多