2

我有一个使用 ReportExecution2005.asmx Web 服务的 C# 项目。在我的项目中,我遍历了一些数据库记录,将行的数据传递给报表的参数,然后呈现报表。

该报告是一个简单的、一个数据集、一个表格报告,我最终将其导出到 Excel。

当我呈现报表时,我不知道我传递的参数是否实际上会导致报表的数据集/表返回任何行。如果报告确实返回了数据,那么我会通过电子邮件将报告发送出去。但是,如果报告的表格是空的,那么我需要跳过这个报告并继续下一个报告。

无论如何我可以检查我呈现的报告以查看数据集或表是否返回任何数据?

感谢您的关注。

4

1 回答 1

2

这听起来更像是可以在后端 sql 中完成的事情,而不是在报告中。该报告只是生成,据我所知,没有任何东西可以做到这一点。订阅的知识是非常基本的....但是您可以进行动态订阅,这可能会脱离数据库逻辑。

我相信您可以采取多层次的方法来使订阅为此动态化。

  1. 在 SQL 数据库中为跟踪包含数据的报表的数据库创建一个作业。只需简单地插入 RecordTable select (reportname), dateadd(day, datediff(day, 0, getdate()), 0), Count(*) from (tabledataset)。
  2. 如果您的数据集有行或没有行,请每天在设定的时间运行此作业以填充。
  3. 创建动态订阅以执行查询,如果行数大于零则发送出去,否则不发送。
于 2013-04-10T16:16:37.387 回答