我正在使用Visual Studie 2005和SQL Server 2005.我试图运行我在服务器上创建的一些ssrs报告。我是否可以在代码中的运行时创建参数,即使我没有在报表中创建参数。这是我的示例代码:
ReportNum = Test.Left(cboReportList.Text, 9);
reportViewer1.ServerReport.ReportServerUrl = new Uri ("http://simsamwqs04.rsc.humad.com/reportserver");
reportViewer1.ServerReport.ReportPath = "/Claims/Report Project1/" + ReportNum;
//ReportViewer1.ServerReport.ReportPath = "/Report Project State/Report1";
ReportParameter[] Params = new ReportParameter[1];
Params[0] = new ReportParameter("fundctr", txtCenter.Text);
reportViewer1.ServerReport.SetParameters(Params);
reportViewer1.ServerReport.Refresh();
答案 0 :(得分:0)
我不确定我理解你的问题,但如果我这样做,那么您似乎在询问是否可以在以前不存在的报告中添加参数。
如果你还没有在报告中创建参数,那么如果你能够在运行时创建它们,你对参数的期望是什么?你根本没有任何东西。报告中没有任何内容可以查找它们。
答案 1 :(得分:0)
您可以尝试创建所有必需的参数,并决定使用coalesce运算符在SQL中使用它们。像这样:
select field1,field2
from table_a
where /*sneaky part below*/
field1 = Coalesce(@ParamForField1, field1)
AND
field2 = Coalesce(@ParamForField2, field2)
如果参数值为null,则会有效地忽略这些参数。但它并不适用于所有情况。这是一个很长的循环你的问题,但可能适合你。