如何解决C#windows应用程序中的“报告加载失败” [英] How to solve 'report load failed' in C# windows application

查看:104
本文介绍了如何解决C#windows应用程序中的“报告加载失败”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我安装我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆