0

我正在使用 asp.net 和 mysql。在 Rdlc 报告中,我无法显示日期。

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

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

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

在 VS2010 中预览数据:-

在此处输入图像描述

Rdlc 报告:-

在此处输入图像描述

4

2 回答 2

0

有两种情况发生在我身上,以及 3 种解决方案

  1. rdlc 报告绑定到 Visual Studio 通过 MySql 连接器生成的数据集。有时,创建的数据集包含带有MySqlDateTime而不是默认System.DateTime的日期列。要查看此内容,请打开您的 Report.rdlc,然后查看报表数据(Ctrl+Alt+D)以查看数据集,右键单击属性,然后检查列中的数据类型。在此处输入图像描述 转到表示数据集来自的数据源的文件,然后在编码窗口中打开设计器文件。在我的情况下,我的名为 pos_dbDataSet.xsd,带有一个名为 pos_dbDataSet.Designer.cs 的设计器文件打开它后,您可以对日期 dataTypes进行字符串替换(Ctrl + H)查找:MySql.Data.Types.MySqlDateTime与:System.DateTime相对。请注意仅替换当前文档中的所有内容。尽管此更改可能不会反映在您的报表数据集上,但报表应该会运行。

在此处输入图像描述 2. 使用数据源配置向导重建数据源/数据集。

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

日历/格式设置

于 2016-08-18T08:51:07.217 回答
-1

将数据库中的字段类型从 datetime 更改为 text 。由于 fieldtype mismatch 发生此错误。

于 2012-08-16T14:13:31.353 回答