두 개의 매개 변수 인 ponumber와 receiptno가있는 보고서가 있습니다. 매개 변수 값이 URL을 통해 전달되는 C# 페이지에서 보고서를 호출하려고합니다. 보고서를 호출 할 때 "매개 변수가 틀립니다"라는 오류가 발생하지만 이유를 알 수 없습니다. 처음에는 보고서 뷰어에 매개 변수가 없다고했기 때문에 온라인에서 찾은 내용을 토대로 다양한 코드 변경 작업을 수행했습니다. 따라서이 방법은 인 것 같습니다. 그러나 더 좋은 결과는이지만 작동하지 않습니다.Crystal 보고서 매개 변수가 잘못되었습니다. C#
내 코드 :
string ponumber = Request.QueryString["ponumber"].ToString();
string receiptno = Request.QueryString["receiptno"].ToString();
// Put Away Report
CrystalReportSource CrystalReportSource1 = new CrystalReportSource();
CrystalReportViewer CrystalReportViewer1 = new CrystalReportViewer();
ParameterFields paramFields1 = new ParameterFields();
ParameterFields paramFields2 = new ParameterFields();
ParameterField paramField1 = new ParameterField();
ParameterField paramField2 = new ParameterField();
ParameterDiscreteValue paramDiscreteValue1 = new ParameterDiscreteValue();
ParameterDiscreteValue paramDiscreteValue2 = new ParameterDiscreteValue();
paramField1.Name = "@ponumber";
paramDiscreteValue1.Value = ponumber;
paramField1.CurrentValues.Add(paramDiscreteValue1);
paramField1.HasCurrentValue = true;
paramFields1.Add(paramField1);
paramField2.Name = "@receiptno";
paramDiscreteValue2 = new ParameterDiscreteValue(); // <-- This line is added
paramDiscreteValue2.Value = receiptno;
paramField2.CurrentValues.Add(paramDiscreteValue2);
paramField2.HasCurrentValue = true;
paramFields2.Add(paramField2);
CrystalReportViewer1.ParameterFieldInfo = paramFields1;
CrystalReportViewer1.ParameterFieldInfo = paramFields2;
TableLogOnInfo logOnInfo = new TableLogOnInfo();
logOnInfo.ConnectionInfo.ServerName = ConfigurationManager.AppSettings["WarehouseReportServerName"];
logOnInfo.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["WarehouseReportDatabaseName"];
logOnInfo.ConnectionInfo.UserID = ConfigurationManager.AppSettings["WarehouseReportUserID"];
logOnInfo.ConnectionInfo.Password = ConfigurationManager.AppSettings["WarehouseReportPassword"];
TableLogOnInfos infos = new TableLogOnInfos();
infos.Add(logOnInfo);
CrystalReportViewer1.LogOnInfo = infos;
maindiv.Controls.Add(CrystalReportSource1);
maindiv.Controls.Add(CrystalReportViewer1);
CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.EnableParameterPrompt = false;
CrystalReportSource1.Report.FileName = "Report3.rpt";
CrystalReportSource1.EnableCaching = false;
CrystalReportViewer1.DataBind();
감사합니다. @ 매끄러운 피트. 나는 그것이 한 번에 그것을 바꿨다고 믿는다. 내가 바꾼 것처럼 크리스탈은 그 매개 변수를 좋아하지 않습니다. 나는 보고서 매개 변수가 문자열처럼 설정되어 있지만 매개 변수가 숫자처럼 보내지는 것을 확인했습니다. 빨간 청어가 될지도 모르지만, 내가 다음에 조사 할 것이 있습니다. 이것은 * 단순해야합니다 * – Andrew