对于MySQL DateTime,C#输入字符串格式不正确

时间:2015-07-23 12:25:40

标签: c# mysql datetime datatable

我查看了有关这方面的各种信息,经过一个小时的搜索后我找不到任何相关内容,所以我不得不专门询问一些问题。

在我的MySQL数据库中,我有一系列带有Created_dt列的表,它是一个DateTime(6)字段。数据的一个示例是:2015-06-19 11:52:07.000000

由于某种原因,我可以从数据库中的任何表中提取任何列。每当我创建一个连接字符串,并用适配器填充数据表时,我在标题中得到错误。代码:

MySqlCommand cmd = new MySqlCommand("Select Created_dt from comptran_bulk", connection);
MySqlDataAdapter da = new MySqlDataAdapter(cmd as MySqlCommand);
DataTable dt = new DataTable();
da.Fill(dt); // This is where the exception is thrown, when data is loaded into the table.

这个命令最终会被"Select * from view_Sales"取代,所以不同的解决方案我认为不会起作用。此外,Created_dt的值均不为空,因此允许归零DateTime=True也无效。

你会建议什么?

1 个答案:

答案 0 :(得分:0)

答案是2012年的旧错误票。

  

“[2012年6月1日13:39] Dan Berger   这似乎没有在6.4.5中修复 - 我仍然得到FormatException。

     

如果问题有所帮助,我可以将问题缩小范围:

     

MySqlDateTime Success = new MySqlDateTime(“2012-01-01 12:00:00”);

     

MySqlDateTime Failure = new MySqlDateTime(“2012-01-01 12:00:00.123456”); //抛出FormatException

     

我的服务器是“MySQL 5.1.41-3ubuntu12.10”,如果这有所不同。“

在C#.NET中使用它时,微秒是导致错误的原因。在将事物修改为日期时间(0)而不是日期时间(6)之后,事情已经开始起作用了。