c# rdlc报表点击页面设置出现“System.ExecutionEngineException”异常

~王者归来~ 2019-05-12 06:24:13
报表 Report1.rdlc 是在另外一个项目里设计的,把它复制到本项目里,可以预览表格,但是点击页面设置按钮就出现“System.ExecutionEngineException”异常错误,请各位帮忙看看是怎么回事?


以下是代码:

private void button3_Click(object sender, EventArgs e)
{

//获取数据表

OleDbConnection db = getConn(); //getConn():得到连接对象

db.Open();

string sql = "select * from RKDATABASE order by 编号 desc"; //选中所有,降序排列,最新的记录在上面


OleDbDataAdapter da = new OleDbDataAdapter(sql, db); //创建适配对象

dt = new DataTable(); //新建表对象

da.Fill(dt); //用适配对象填充表对象


db.Close();

//实例化一个ReportViewer
Microsoft.Reporting.WinForms.ReportViewer ReportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer();


Form fm = new Form();
fm.Width = 700;
fm.Height = 650;

fm.StartPosition = FormStartPosition.CenterScreen; //居中显示

fm.Text = "打印预览";

fm.Controls.Add( ReportViewer1); //放在窗口里面

try
{
//获取报表文件并付给reportViewer控件
ReportViewer1.LocalReport.ReportPath = System.Environment.CurrentDirectory + "\\Report1.rdlc";


ReportViewer1.Width = this.Width ;
ReportViewer1.Height = this.Height;

ReportViewer1.Parent = fm;


//指定数据集

ReportViewer1.LocalReport.DataSources.Clear();

ReportDataSource rpt = new ReportDataSource("myds", dt);

ReportViewer1.LocalReport.DataSources.Add(rpt);

ReportViewer1.ZoomMode = ZoomMode.Percent;


//显示报表
ReportViewer1.Show();
ReportViewer1.RefreshReport();
ReportViewer1.BringToFront(); //最前端显示

}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}

fm.ShowDialog();


}
...全文
103 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
~王者归来~ 2019-05-16
  • 打赏
  • 举报
回复
查出原因了,窗体皮肤控件有问题。
上帝的亲哥哥 2019-05-14
  • 打赏
  • 举报
回复
在 fm.ShowDialog();句报执行引擎异常,也就是在你的fm对象的Load事件中或fm对象的构造函数中有错误,你将断点放在窗体的初始化中跟一下就能找到哪句报的错了,微软的报表,一般是数据对象为空,或表达式不正确容易报这种错误

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧