我目前正致力於將Windows應用程序從VB6升級到VB.NET。該應用程序的組件之一包括Crystal Reports。我對VB和Crystal Reports非常新,所以我需要一些幫助。帶有大數據的Crystal Reports需要很長時間才能加載
讓我先說我的報告來拉正確的數據,有沒有語法錯誤,但曾經當我嘗試,並與衆多的記錄中提取數據,它需要很長的時間來加載開始。防爆。其中一個查詢包含返回的16000行,在VB6版本中需要大約1.5秒,但在.Net版本中需要18分鐘。我確信有些事情可以讓報告更有效率,但由於我沒有足夠的工作量,我需要幫助才能走上正軌。當報告試圖提取少量數據時,我沒有任何問題。
要生成我正在使用數據集的報告,我認爲這是減緩加載時間的部分。以下是我設置SQL Query的方式以及我設置數據集的方式示例。
sSQLQry = 「SELECT [COLUMN_NAMES] from Table1, Table2, Table3, Table4 WHERE [condition] ORDERBY col1,col2,col3 ASC
cnn = New SqlConnection(connectionString)
cnn.Open()
Dim dscmd As New SqlDataAdapter(sSQLQry, cnn)
Dim ds As New my_dataset
dscmd.Fill(ds, "table1")
dscmd.Fill(ds, "table2")
dscmd.Fill(ds, "table3")
dscmd.Fill(ds, "table4")
crystalreport1.SetDataSource(ds)
CrystalReportViewer1.Height = Me.Height
CrystalReportViewer1.Width = Me.Width
CrystalReportViewer1.Show()
CrystalReportViewer1.ReportSource = crystalreport1
現在我認爲它慢的原因是因爲4填充方法,但我不知道如何解決這個問題。任何幫助是極大的讚賞。