带错误的Crystal报表:此处需要数字范围

时间:2010-12-29 10:10:53

标签: asp.net crystal-reports crystal-reports-2008

我正在使用水晶报告,因为我使用下面的代码将SQL数据显示在水晶报告中,

string req = "{View_EODPumpTest.ROId} IN " + str + " AND " + "({View_EODPumpTest.RecordCreatedDate}>=date(" + fromDate.Year + " , " + fromDate.Month + " , " + fromDate.Day + ")" + "AND" + "{View_EODPumpTest.RecordCreatedDate}<=date(" + toDate.Year + " , " + toDate.Month + " ," + toDate.Day + " ))";

ReportDocument rep = new ReportDocument();
rep.Load(Server.MapPath("PumpTestReport.rpt"));

DateTime fromDate = DateTime.Parse(Request.QueryString["fDate"].ToString());
                DateTime toDate = DateTime.Parse(Request.QueryString["tDate"].ToString());
                CrystalReportViewer_PumpTest.ReportSource = rep;
                //CrystalReportViewer1.SelectionFormula = str;
                rep.RecordSelectionFormula = str;
                CrystalDecisions.CrystalReports.Engine.TextObject from = ((CrystalDecisions.CrystalReports.Engine.TextObject)rep.ReportDefinition.ReportObjects["txtFrom"]);
                from.Text = fromDate.ToShortDateString();
                CrystalDecisions.CrystalReports.Engine.TextObject to = ((CrystalDecisions.CrystalReports.Engine.TextObject)rep.ReportDefinition.ReportObjects["txtTO"]);
                to.Text = toDate.ToShortDateString();
                //Session["Repo"] = rep;
                CrystalReportViewer_PumpTest.RefreshReport();

运行我的应用程序后,它执行正常,没有异常,但我得到了这样的错误,

A number range is required here. Error in File C:\DOCUME~1\Delmon\LOCALS~1\Temp\PumpTestReport {14E557A7-51B3-4791-9C78-B6FBAFFBD87C}.rpt: Error in formula . '{View_EODPumpTest.ROId} IN ['15739410','13465410'] AND ({View_EODPumpTest.RecordCreatedDate}>=date(2010 , 12 , 1)AND{View_EODPumpTest.RecordCreatedDate}<=date(2010 , 12 ,25 ))' A number range is required here.

错误。

我将为此做些什么?

请帮忙,

提前致谢

1 个答案:

答案 0 :(得分:2)

你没有在代码示例中包含'str'的定义,但我猜它是一组以逗号分隔的值。要让Crystal解释这一点,你必须将值范围放在[和]中,而不是在SQL中可能使用的标准(和)。例如,

{View_EODPumpTest.ROId} IN [1,2,3,4,5,6]