求指点。。
private void Form_PushReport_Load(object sender, EventArgs e)
{
SqlConnection conn = DBConnection.MyConnection();
conn.Open();
try
{
string sql = "SELECT * FROM "+table;//table是表的名字的字符串
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "tmpTable");
string reportPath = System.Windows.Forms.Application.StartupPath + @"CrystalReport_Push.rpt";
ReportDocument rd = new ReportDocument();
rd.Load(reportPath);
rd.SetDataSource(ds.Tables[0].DefaultView);
this.crystalReportViewer1.ReportSource = rd;
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());//一直抛出异常,提示报表加载失败
}
finally
{
conn.Close();
}
}
ReportDocument rd = new ReportDocument(); 原先这里提示未引用,然后我加了using CrystalDecisions.CrystalReports.Engine;这里没错误了,可运行时抛出异常,加载失败
------解决思路----------------------
看下reportPath的值,有没有对应的报表文件?
------解决思路----------------------
水晶报表文件路径有不对
------解决思路----------------------
路径错误。将你的rpt文件放到bin/Debug目录下,或者
rd.Load(AppDomain.CurrentDomain.BaseDirectory + "/CrystalReport1.rpt");
------解决思路----------------------
1、报表预览有数据么?
2、运行过程中,报表的数据源有记录么?