如何解决C#windows应用程序中的“报告加载失败” [英] How to solve 'report load failed' in C# windows application
问题描述
当我安装我的Windows应用程序时,它显示错误
When i installing my windows app it shows error
'report load failed'
i认为它没有获得有效的报告路径。
任何人都可以告诉我报告的申请路径
在其他系统上运行。
非常感谢提前。
我尝试过:
string DRIOutConn = Application.StartupPath;
私人OleDbConnection con = new OleDbConnection();
public void connection()
{
con = new OleDbConnection(@Provider = MICROSOFT.ACE.OLEDB.12.0; Data Source =+ DRIOutConn +\\ECOFRESH.mdb; Jet OLEDB:Database Password = mbd);
}
private OleDbCommand cmd = new OleDbCommand();
private OleDbDataAdapter ad = new OleDbDataAdapter() ;
private DataSet ds = new DataSet();
private void FrmReport_Load(object sender,EventArgs e)
{
connection() ; $ / b $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ .Open();
cmd.ExecuteNonQuery();
con.Close();
ad = new OleDbDataAdapter(cmd);
ds = new DataSet();
ad.Fill(ds,dt_tempdata);
if(ds.Tables [0]。 Rows.Count> 0)
{
ReportDocument cryRpt = new ReportDocument();
//cryRpt.Load(@ C:\Documents and Settings \Administrator \ My Documents\Visual Studio 2010 \Projects\DRI_NEW_SERIES_10march2018\DRI_NEW_SERIES\test.rpt);
//cryRpt.Load (DRIOutConn + @Reports\Report\test.rpt);
//cryRpt.Load(Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath) .LastIndexOf(\\))。LastIndexOf(\\))+\\test.rpt);
cryRpt.Load(Application.UserAppDataPath + \\test.rpt);
cryRpt.SetDataSource(ds.Tables [dt_tempdata]);
crystalReportViewer1.ReportSource = cryRpt;
//cryRpt.Load(@\"C:\Documents and Settings\Ad ministrator\My Documents\Visual Studio 2010 \Projects\DRI_NEW_SERIES\DRI_NEW_SERIES\CrystalReport1.rpt);
//cryRpt.FileName =test.rpt;
//cryRpt.SetDatabaseLogon(\"admin,mbd);
//crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
i think its not getting a valid report path.
Anyone can tell me the application path for report
by which it run on other systems.
Many thanks in advance.
What I have tried:
string DRIOutConn=Application.StartupPath;
private OleDbConnection con = new OleDbConnection();
public void connection()
{
con = new OleDbConnection(@"Provider=MICROSOFT.ACE.OLEDB.12.0;Data Source=" + DRIOutConn + "\\ECOFRESH.mdb;Jet OLEDB:Database Password=mbd");
}
private OleDbCommand cmd = new OleDbCommand();
private OleDbDataAdapter ad = new OleDbDataAdapter();
private DataSet ds = new DataSet();
private void FrmReport_Load(object sender, EventArgs e)
{
connection();
MessageBox.Show(con.DataSource);
cmd = new OleDbCommand("select * from tempData",con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
ad = new OleDbDataAdapter(cmd);
ds = new DataSet();
ad.Fill(ds, "dt_tempdata");
if (ds.Tables[0].Rows.Count > 0)
{
ReportDocument cryRpt = new ReportDocument();
//cryRpt.Load(@"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\DRI_NEW_SERIES_10march2018\DRI_NEW_SERIES\test.rpt");
//cryRpt.Load(DRIOutConn + @"Reports\Report\test.rpt");
//cryRpt.Load(Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")) + "\\test.rpt");
cryRpt.Load(Application.UserAppDataPath + "\\test.rpt");
cryRpt.SetDataSource(ds.Tables["dt_tempdata"]);
crystalReportViewer1.ReportSource = cryRpt;
//cryRpt.Load(@"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\DRI_NEW_SERIES\DRI_NEW_SERIES\CrystalReport1.rpt");
//cryRpt.FileName = "test.rpt";
//cryRpt.SetDatabaseLogon("admin", "mbd");
//crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
推荐答案
请参阅
Crystal Reports:修复加载报告失败错误。 [ ^ ] < br $> b $ b和
如何在c#中给出水晶报告的路径 [ ^ ]
See
Crystal Reports: Fix for "Load report failed" error.[^]
and
How to give the path for crystal report in c#[^]
这篇关于如何解决C#windows应用程序中的“报告加载失败”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!