水晶报表加载缓慢
内容:
根据条件查询数据,在DataGridView里面显示对应信息,然后点击每行信息,在下面CrystalReportViewer显示对应报表
现在已经实现报表的对应加载!
数据源是dateset数据集,数据来源是SQL Server中同一数据库下多个表
但问题就在于,第一次加载相当缓慢,将近花费17、18秒左右
现在想请问一下,是我SQL 语句的问题?!还是存在其他问题。
若有问题怎么修改﹏﹏
以及怎么实现预加载?!
我比较小白﹏﹏希望能解说详细点﹏﹏%>_<%
code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace yyynwl
{
public partial class f_tlddy : Form
{
public f_tlddy()
{
InitializeComponent();
}
private void BTNcx_Click(object sender, EventArgs e)
{
string tmpsql = "select e.id ,e.yfid ,b.mc ,e.ksid ,e.zzrdm ,e.zzrxm ,e.zzsj ,e.dyrdm ,e.dyrxm ,e.dysj ,e.dycs ,e.zhdysj from ejyf_tld e with(nolock),bmml b with(nolock) where e.yfid=b.id";//对应DataGridView中字段
//查询
if (CBksmc.Text != "")
{
tmpsql += " and e.ksid=" + CBksmc.Text.Trim();
}
if (Lyfmc.Text != "")
{
tmpsql += " and b.mc='" + Lyfmc.Text.ToString().Trim() +"'";
}
if (wdy.Checked == true)
{
tmpsql += " and e.dycs is null or e.dycs = 0";
}
else
{
tmpsql += " and e.dycs>0";
tmpsql += " and e.dysj between '"+dtp1.Text.ToString().Trim ()+"' and '"+dtp2.Text.ToString().Trim ()+"'";
if (tdyr.Text != "")
{