错误提示:查询引擎错误“C:/Windows/temp/tem_9e78ae3c-6d64-4ba7-aedb-86fef851a24.rpt”
异常信息:CrystalDecisions.CrystalReport.Engine.DataSourceException
可能的原因分析:DataTable的表名与rpt连接的表名不一致。
解决方法:用适配器将数据表装载到记录集时,指定它的表名,该表名必须与报表源正在使用的表名一致。
代码:
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(Command);
//da.Fill(ds); //Error
da.Fill(ds,tablename); //OK
CrystalReport cr = new CrystalReport(); //报表源
cr.SetDataSource(ds); //指定报表源的数据源
CrystalReportViewer.ReportSource = cr; //指定报表源
或者
//DataSet ds = new DataSet("tablename"); //Error
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(Command);
da.Fill(ds,tablename); //OK
本文分析了报表引擎中出现的CrystalDecisions.CrystalReport.Engine.DataSourceException错误原因,并提供了具体的解决办法,即确保DataTable的表名与rpt文件中定义的表名一致。
266

被折叠的 条评论
为什么被折叠?



