将MySQL的DATETIME转换为System.DateTime

3

我正在使用MySQL数据库和DbLinq,但是出现了一个异常:

"无法将MySQL日期时间转换为系统日期时间"

我该如何解决这个问题?


你现在是如何进行强制类型转换或转换的? - Ariel
MySql的日期是Unix时间戳吗? - Kris Krause
4个回答

4
检查数据库中是否存在零日期,即像'0000-00-00'这样的日期;这可能是错误的原因。


1

如果你有一个包含MySql DateTime值的结果集,你可以使用ConvertAll方法和一个使用DateTime.Parse的委托来创建一个System.DateTime值的集合。

这里是一个例子,其中"results"是包含MySQL日期时间值的dblinq查询结果:

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

这是你要找的吗?


1
我正在将我的gridview中的一列从asp:BoundField移动到asp:TemplateField,因此必须显式显示来自MySQL数据库的日期。通过反射,我发现集合将日期字段类型化为MySqlDateTime而不是system.DateTime。
我在代码后台添加了import MySql.Data.Types语句,并在gridview上下文中的标签中添加了以下Eval语句。
Text='<%# CType(Eval("Submitted_Date"), MySql.Data.Types.MySqlDateTime).ToString%>'
输出格式:02/23/2011
希望这有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接