本文介绍了为什么SetDataSource这么慢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


您好,



我正在使用CrystalReportViewer在Visual Studio 2005上进行开发,以便从我们的应用程序中显示Windows窗体中的Crystal Report。我遇到的问题是ReportDocument-> SetDataSource(数据集)方法耗费了很长时间,从而影响了我们的应用程序的性能。我的问题是为什么会这样?以下是处理表单显示的代码示例。



DataSet ^ ds = gcnew DataSet();


String ^ ConnStr = " SELECT *" +


" FROM DailyCalAud LEFT OUTER JOIN DailyCalTest" +


" ON DailyCalAud.Id = DailyCalTest.DCAudId" +


" ORDER BY DailyCalAud.SerNum,DailyCalAud.Model,TestDate,TestTime" ;


SqlConnection ^ conn = gcnew SqlConnection( "数据源= PC \\BMIMSDESERVER;初始值Catalog = stx52013; Integrated Security = TRUE" );


SqlCommand ^ command = gcnew SqlCommand(ConnStr ,conn);


SqlDataAdapter ^ adapt = gcnew SqlDataAdapter(command);


conn-> Open();


adapt-> ;填充(ds);


conn->关闭();


reportDocument2-> SetDataSource(ds) ; ******此行导致持有*******


SetDBLogonForReport(connectionInfo,ds);


reportDocument2- > SetDatabaseLogon( " user" ," password " " PC\\BMIMSDESERVER" " stx52013" );


crystalReportViewer1-> ReportSource = Form2 :: reportDocument2;



我做了很多搜索,但没有找到这个特定问题的任何答案。我必须使用推送方法将数据集推送到报表,因为我的SQL需要在运行时更改,所以如果你有任何解决方案,请记住这一点。



解决方案


这篇关于为什么SetDataSource这么慢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-01 00:31