在 C# 中为 Mysql 完成的错误转换?

Posted

技术标签:

【中文标题】在 C# 中为 Mysql 完成的错误转换?【英文标题】:wrong conversion done in c# for Mysql? 【发布时间】:2011-12-25 03:27:43 【问题描述】:

我有 c# 中的代码

   string date = reader["date"].ToString();

并得到错误

无法将 mysql 日期/时间值转换为 System.DateTime

当我将它们转换为字符串时,为什么它试图将它们转换为日期时间。那么他们创造的价值错误是0000-00-00 00:00:00

【问题讨论】:

***.com/questions/573153/…看看 【参考方案1】:

因为0000-00-00 00:00:00 无效.Net DateTime(minimum value 是 00:00:00.0000000,0001 年 1 月 1 日)

将此添加到连接字符串:

Allow Zero Datetime=trueConvert Zero Datetime=true

【讨论】:

【参考方案2】:

那么你应该在你的连接字符串中做一些如下的改变

Allow Zero Datetime=true 

要知道为什么你应该这样做,请参阅conversation

【讨论】:

【参考方案3】:

这是因为数据库调用返回一个MySqlDateTime 类对象。 试试下面的代码:

MySqlDateTime mysqlDate = reader["date"];
DateTime date = mysqlDate.GetDateTime();
string date = date.ToString();

【讨论】:

以上是关于在 C# 中为 Mysql 完成的错误转换?的主要内容,如果未能解决你的问题,请参考以下文章

C# LINQ 生成“指定的强制转换无效”错误

如何从 MS Access 转换为 MySQL?

将 C# 日期时间转换为 0000-00-00 00:00:00 到 MySQL

使用 C# 为 MySQL 转换 DateTime

使用 C# 为 MySQL 转换 DateTime

C#将对象转换为字节数组