从Crystal Report RPT或.NET中的代码从Crystal Report的运行速度更快的存储过程



我计划创建一个使用Crystal Reports显示报告的系统,我想知道哪个速度更快,从Crystal Reports .rpt或从将记录发送到.rpt的代码中运行存储的过程?

为什么您可以为此表演假设?需要您的帮助,谢谢

使用存储过程从数据库中汲取数据。

然后以编程方式将此数据设置为报告的DataSource

您知道,存储过程已经保存在数据库中,因此它将为您的数据比普通查询更快。

作为铁杆程序员,我个人更喜欢使用代码,尤其是在使用ASP.NET时。我告诉你为什么:

- 向导:我讨厌巫师,只是浏览不同的步骤,更新存储过程等的痛苦等。

- flexibilty :代码始终是国王,我的意思是仅比较命令行与GUI。您永远不会受到代码的限制。

- bugs :我已经看到错误在SP返回临时表或结果动态时从RPT调用存储过程无法工作。只能与代码一起使用

现在要回答您关于性能的问题,它可以通过代码更快地更快。

示例

绑定到reportviewer的结果(对不起,我使用了ReportViewer,但您得到了点

DataTable dt = GetSPResult();
ReportViewer1.Visible = true;
ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));

最新更新