我浏览了有关这方面的各种信息,经过一个小时的搜索后找不到任何信息,因此我不得不专门提出一些问题。

在我的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的值都不为Null,因此“允许零DateTime=True”也不起作用。

你有什么建议?

最佳答案

答案是在2012年使用旧错误票。


  “ [2012年6月1日13:39] Dan Berger
  在6.4.5中似乎未解决此问题-我仍然收到FormatException。
  
  如果有帮助,我可以进一步缩小问题的范围:
  
  MySqlDateTime成功=新的MySqlDateTime(“ 2012-01-01 12:00:00”);
  
  MySqlDateTime失败=新的MySqlDateTime(“ 2012-01-01 12:00:00.123456”); //抛出FormatException
  
  我的服务器是“ MySQL 5.1.41-3ubuntu12.10”,如果有区别的话。


在C#.NET中使用此功能时,微秒是导致错误的原因。在将事物修改为datetime(0)而不是datetime(6)之后,事物开始起作用。

关于c# - C#输入字符串的MySQL DateTime格式不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31587316/

10-11 03:39