将参数传递给crystal Reports designer的存储过程

时间:2010-12-15 13:22:05

标签: stored-procedures crystal-reports

如何将参数传递给水晶报表设计器的存储过程 并在代码中?? ??

1 个答案:

答案 0 :(得分:0)

如果使用所需的存储过程作为报告源,则在构建报告本身时,您可以从代码中传递存储过程参数,如下所示;

ReportDocument rptDocument = new ReportDocument();

// Load report.
rptDocument.Load(Server.MapPath("rptFileNameOrPath"));

ParameterFields parameterFields = new ParameterFields();
ParameterField parameterField = null;
ParameterDiscreteValue parameterValue = null;

parameterField = new ParameterField();
parameterValue = new ParameterDiscreteValue();
parameterField.Name = "@ContactId";
parameterValue.Value = "1";
parameterField.CurrentValues.Add(parameterValue);
parameterFields.Add(parameterField);
this.rptDocument.SetParameterValue("@ContactId", parameterValue);

@ContactId:是必需存储过程的参数。

最后,您可以导出报告或根据您的要求进行打印。

// 0, 0: to print all the pages.
this.rptDocument.PrintToPrinter(1, false, 0, 0);

关于Crystal Report Designer,您只需使用查看报告选项,系统会要求您输入所有报告参数的值,只需输入所需的值。