0

ASP.NET 1.1 / VB.NET / SQL 2000

我正在使用水晶报告 10 生成报告...报告工作正常,但问题是加载和显示数据花费的时间太长。

我正在做的是: 我有两张桌子(一对多)。我从第一个表中获取所有记录并将其存储在我的数据集中的一个表中......然后我从第二个表中获取所有记录,具体取决于第一个表中的 ID。然后将其存储在数据集中的另一个表中。

之后,我通过执行每个循环将每个记录合并到其相关 id 来合并数据集中的两个表。

最后,将其绑定到报表

合并过程需要2分钟!

.

  • 我能做些什么?
  • 有没有更好的方法来做同样的事情?
  • 我可以控制我的 SQL 语句中的记录范围吗?

重要的

我不能放我的代码,因为那里有很多代码,这真的让所有人感到困惑。

4

1 回答 1

0

不幸的是,您没有提供太多信息,但让我给您一些代码示例,您应该能够根据自己的目的进行修改。

Dim SQL1 As String = "SELECT Field1, Field2 FROM Table1 where Field2 = 7" 'Standard SQL
Dim SQL2 As String = "SELECT Field3, Field4, Field1 FROM Table2 Where Field1 in (SELECT Field1 FROM Table1 where Field2 = 7)" 'This SQL contains a nested select to get the child data for only the records that match the parent
'A neat feature, combine them into 1 SQL statement that will produce 2 tables in your dataset in one call
Dim SQL3 As String = SQL1 & ";" & SQL2
Dim CN As New SqlClient.SqlConnection("Your connection string here")
Dim DS As New DataSet
Dim DA As New SqlClient.SqlDataAdapter(SQL3, CN)
CN.Open()
DA.Fill(DS)
CN.Close()

有关正在发生的事情的解释,请参见代码中的注释。根据您的 VB.net、Sql Server 和 Net1.1 的标签,这应该都适合您。

于 2013-10-16T22:37:20.313 回答