将日期时间传递到报表查看器时,参数验证失败
本文关键字:参数 失败 验证 时间 日期 报表 | 更新日期: 2023-09-27 18:17:05
所以我试图在asp中使用reportviewer控件查看远程ssrs报告。报告有三个参数——一个nvarchar和两个日期时间。传递单个nvarchar运行良好,直到我添加两个日期时间,此时我得到以下错误。所以肯定有什么问题。我总是得到可怕的错误:
Parameter validation failed. It is not possible to provide valid values for all parameters. (rsParameterError)
尽管这三个参数都传入了值。我猜这是日期字符串中/字符的问题,所以我尝试了url编码,但无济于事。我可以确认此报告确实从报告服务中运行,但我似乎无法从代码中正确地传递参数值。建议吗?
我的代码如下
string firstdate = datepicker.Value;
string enddate = datepicker2.Value;
firstdate = HttpUtility.UrlEncode(firstdate);
enddate = HttpUtility.UrlEncode(enddate);
ReportParameter[] parm = new ReportParameter[3];
parm[0] = new ReportParameter("store_name", DropDownList1.SelectedValue);
parm[1] = new ReportParameter("mindate",firstdate);
parm[2] = new ReportParameter("maxdate", enddate);
ReportViewer1.ServerReport.ReportPath = "<REDACTED>";
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://<REDACTED>/ReportServer");
ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials("<REDACTED>", "<REDACTED>", "");
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.SetParameters(parm);
ReportViewer1.ServerReport.Refresh();
原来。rdl文件被打破了,但我不确定如何。完全重新创建报告似乎已经解决了这个问题。