我查看了有关这方面的各种信息,经过一个小时的搜索后我找不到任何相关内容,所以我不得不专门询问一些问题。
在我的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
也无效。
你会建议什么?
答案 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)之后,事情已经开始起作用了。