使用C#问题的CrystalReport和存储过程
我有一个需要生成报告的应用程序。但是,我不知道如何使用基于查询的CrystalReport生成报告。假设我只需要从数据库生成报告,其中显示select查询返回的值。我以前从来没有使用过Crystal Reports,所以我对它不熟悉 谢谢大家:) 编辑: 到目前为止,我的情况如下:使用C#问题的CrystalReport和存储过程,c#,stored-procedures,crystal-reports,C#,Stored Procedures,Crystal Reports,我有一个需要生成报告的应用程序。但是,我不知道如何使用基于查询的CrystalReport生成报告。假设我只需要从数据库生成报告,其中显示select查询返回的值。我以前从来没有使用过Crystal Reports,所以我对它不熟悉 谢谢大家:) 编辑: 到目前为止,我的情况如下: ConnectionString myConnString = new ConnectionString(); string connString = myConnString.getConnectionString
ConnectionString myConnString = new ConnectionString();
string connString = myConnString.getConnectionString();
SqlConnection connSearch = new SqlConnection(connString);
connSearch.Open();
SqlCommand cmdLoad = new SqlCommand("Search", connSearch);
cmdLoad.CommandType = CommandType.StoredProcedure;
cmdLoad.Parameters.Add(new SqlParameter("@AccountID", currentUser));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@PriceID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ExpenseID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@InventoryID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ProductInID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ProductOutID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodMonth", periodMonth.Trim().ToUpper()));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodYear", periodYear));
SqlDataReader read = cmdLoad.ExecuteReader();
DataSet ds = new DataSet();
DataTable dt = new DataTable("Results");
ds.Tables.Add(dt);
ds.Load(read, LoadOption.PreserveChanges, ds.Tables[0]);
CrystalReport1 crystal = new CrystalReport1();
crystal.SetDataSource(ds);
crystalReportViewer1.ReportSource = crystal;
connSearch.Close();
connSearch.Dispose();
然而,这里似乎有点不对劲,因为它总是产生一个异常,即报告没有指向crystal.SetDataSource(ds)的表代码>行
有人帮我吗?:) 好吧,这并不是一个真正的答案,但我的建议是,在深入研究之前先把Crystal Reports转储掉。。。。这只是一个痛苦的世界
在HTML中创建自己的报告,导出到excel非常简单,如果需要,可以使用免费工具导出到PDF,甚至可以使用.Net图表
Net为您提供了生成报告所需的所有工具,学习曲线可能不会太大,最终的控制能力也会大大增强 Crystal Reports是一款功能强大的工具,广泛应用于世界各地的办公室。
你肯定是在帮自己熟悉它。。。如果您是,它实际上很容易使用。:)
CrystalReportViewer将生成一个用户友好的界面,使您能够将报告导出为所有常用格式
回答你的问题:
Net只为您提供了构建和查看报表的能力,就像在Crystal报表客户端中一样,只是您可以通过codebehind进行构建和查看报表
如果我是你的话,我会通读报告,先熟悉一下报告
我认为在您的案例中,错误可能与此有关,尽管您已将数据集指定为报表的数据源,但数据集中可能没有表,或者您尚未选择任何要在报表中显示的字段
在将数据集绑定到报表之前,请尝试调试数据集,并检查表是否存在。当然,这是整个网站上唯一与CrystalReports相关的问题,因此问题标题非常独特。(对于后代:撰写本文时,问题标题为“CrystalReport问题”。)