我正在使用带有DbLinq的 MySQL 数据库,但抛出异常:
“无法将 mysql 日期时间转换为 system.datetime”
我该如何解决这个问题?
检查任何零日期表示数据库中的“0000-00-00”之类的日期;这可能是错误的原因。
我正在将gridview 中的一列从asp:BoundField 移动到asp:TemplateField,因此必须显式地显示来自MySQL 数据库的日期。通过反思,我发现该集合将日期字段键入为 MySqlDateTime 而不是 system.DateTime。
我将 import MySql.Data.Types 语句添加到后面的代码中,并将以下 Eval 语句添加到 gridview 上下文中的标签中。
Text='<%# CType(Eval("Submitted_Date"), MySql.Data.Types.MySqlDateTime).ToString%>'
输出格式:2011 年 2 月 23 日
希望有帮助!
好吧,如果你有一个包含 MySqlDateTime
值的结果集,你可以使用该ConvertAll
方法和一个委托DateTime.Parse
来创建一个System.DateTime
值集合。
这是一个示例,其中“结果”是包含 MySQL 日期时间值的 dblinq 查询的结果:
List<DateTime> dateTimes = results.ConvertAll(delegate(string time){
return DateTime.Parse(time);
});
这是你要找的吗?