将MySQL DATETIME转换为System.DateTime

时间:2009-10-22 12:35:25

标签: c# asp.net-mvc dblinq

我正在使用带有DbLinq的MySQL数据库,但是会抛出异常:

  

“无法将mysql datetime转换为   System.DateTime的“

如何解决此问题?

4 个答案:

答案 0 :(得分:5)

检查任何零日期是指数据库中的'0000-00-00'之类的日期; 这可能是错误的原因。

答案 1 :(得分:2)

答案 2 :(得分:1)

好吧,如果您的结果集包含MySql DateTime值,则可以使用ConvertAll方法和使用DateTime.Parse的委托来创建System.DateTime的集合值。

以下是一个示例,其中“results”是包含MySQL日期时间值的dblinq查询的结果:

List<DateTime> dateTimes = results.ConvertAll(delegate(string time){ 
   return DateTime.Parse(time); 
});

这是你要找的吗?

答案 3 :(得分:1)

我正在将我的gridview中的一列从asp:BoundField移动到asp:TemplateField,因此必须显式地显示来自MySQL数据库的日期。我通过反射发现,集合将日期字段键入为MySqlDateTime而不是system.DateTime。

我将导入的MySql.Data.Types语句添加到后面的代码中,并在gridview的上下文中的标签中添加了以下Eval语句。

Text ='&lt;%#CType(Eval(“Submitted_Date”),MySql.Data.Types.MySqlDateTime).ToString%&gt;'

输出格式:02/23/2011

希望有所帮助!