2012-07-28 126 views
0

我正在使用asp.net和mysql。在Rdlc报告中,我无法显示日期。如何删除日期列给Rdlc报告错误?并希望在报告中显示mysql日期

首先它给出了一个错误,如无法将mysql日期转换为system.date。所以我添加了Allow Zero Datetime = true;在连接字符串中。现在报告显示...

但是它在报告列中显示#Error。

数据集名称 - mcubicDataSet.xsd DataDable名称是 - fo_reserv

预览数据在VS2010: -

enter image description here

RDLC报告: -

enter image description here

回答

-1

变化数据库中从datetime到text的字段类型。由于字段类型不匹配,此错误会发生。

0

有当这发生在我身上的两个实例,以及3个解决方案

  1. 的RDLC报告是绑定到由Visual Studio通过你的MySQL连接器生成的数据集。有时,创建的数据集的日期列的日期列为MySqlDateTime,而不是默认的System.DateTime。 要查看此打开您的Report.rdlc,然后查看报告数据(Ctrl + Alt + D)以查看dataSet,右键单击属性,然后检查列中的数据类型。 enter image description here 转到表示数据集来自哪里的数据源的文件,并在编码窗口中打开设计器文件。在我的情况下,我的名为pos_dbDataSet.xsd,名为pos_dbDataSet.Designer.cs的设计器文件一旦打开它,您可以在日期dataTypes找到日期(Ctrl + H)上执行字符串替换:MySql.Data.Types。 MySqlDateTime relpace与:System.DateTime。 小心只能在当前文档中全部替换。尽管此更改可能无法在您的报告数据集上重新生成,但报告应该运行。

enter image description here 2.使用数据源配置向导重建数据源/数据集。

  1. (不太可能)rdlc报告使用操作系统的日期格式,因此MySql格式和OS格式之间可能会有冲突。我解决这个问题的方法是在计算机的日历或区域设置上更改我的日期时间格式,以更好地匹配数据库格式。我使用的是英国格式,并改为美国格式。

Calender/Format Settings