水晶报表会自动为每个“存储过程中的参数”建立一个“参数字段”,所以这就成了运行时给参数赋值的问题了……

参数字段运行时自定义

[Visual Basic]
' 声明将参数传递给
'查看器控件所需的变量。
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim discreteVal As New ParameterDiscreteValue()
Dim rangeVal As New ParameterRangeValue()

' 第一个参数是具有多个值的离散参数。

' 设置参数字段的名称,它必须
'和报表中的参数相符。
paramField.ParameterFieldName = "客户姓名"

' 设置第一个离散值并将其传递给该参数
discreteVal.Value = "AIC Childrens"
paramField.CurrentValues.Add(discreteVal)

' 设置第二个离散值并将其传递给该参数。
' discreteVal 变量被设置为新值,这样,以前的设置
'就不会被覆盖。
discreteVal = New ParameterDiscreteValue()
discreteVal.Value = "Aruba Sport"
paramField.CurrentValues.Add(discreteVal)

' 将该参数添加到参数字段集合。
paramFields.Add(paramField)

' 第二个参数为区域值。paramField 变量
'被设置为新值,这样,以前的设置就不会被覆盖。
paramField = New ParameterField()

' 设置参数字段的名称,它必须
'和报表中的参数相符。
paramField.ParameterFieldName = "客户 ID"

' 设置区域的开始值和结束值并将区域传递给该参数。
rangeVal.StartValue = 42
rangeVal.EndValue = 72
paramField.CurrentValues.Add(rangeVal)

' 将第二个参数添加到参数字段集合。
paramFields.Add(paramField)

' 将参数字段集合放入查看器控件。
crystalReportViewer1.ParameterFieldInfo = paramFields

crystalReportViewer1.ReportSource = "c:\reports\my report.rpt"

[C#]
// 声明将参数传递给
//查看器控件所需的变量。
ParameterFields paramFields = new ParameterFields ();
ParameterField paramField = new ParameterField ();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();
ParameterRangeValue rangeVal = new ParameterRangeValue ();

// 第一个参数是具有多个值的离散参数。

// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "客户姓名";

// 设置第一个离散值并将其传递给该参数。
discreteVal.Value = "AIC Childrens";
paramField.CurrentValues.Add (discreteVal);

// 设置第二个离散值并将其传递给该参数。
// discreteVal 变量被设置为新值,这样,以前的设置
//就不会被覆盖。
discreteVal = new ParameterDiscreteValue ();
discreteVal.Value = "Aruba Sport";
paramField.CurrentValues.Add (discreteVal);

// 将该参数添加到参数字段集合。
paramFields.Add (paramField);

// 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField ();

// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "客户 ID";

// 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal.StartValue = 42;
rangeVal.EndValue = 72;
paramField.CurrentValues.Add (rangeVal);

// 将第二个参数添加到参数字段集合。
paramFields.Add (paramField);

// 将参数字段集合放入查看器控件。
crystalReportViewer1.ParameterFieldInfo = paramFields;
[C++]
// 声明将参数传递给
//查看器控件所需的变量。
ParameterFields* paramFields = new ParameterFields ();
ParameterField* paramField = new ParameterField ();
ParameterDiscreteValue* discreteVal = new ParameterDiscreteValue ();
ParameterRangeValue* rangeVal = new ParameterRangeValue ();

// 第一个参数是具有多个值的离散参数。
// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField->ParameterFieldName = "客户姓名";

// 设置第一个离散值并将其传递给该参数。
String* val = "AIC Childrens";
discreteVal->Value = val;
paramField->CurrentValues->Add (discreteVal);

// 设置第二个离散值并将其传递给该参数。
// discreteVal 变量被设置为新值,这样,以前的设置
//就不会被覆盖。
discreteVal = new ParameterDiscreteValue ();
val = "Aruba Sport";
discreteVal->Value = val;
paramField->CurrentValues->Add (discreteVal);

// 将该参数添加到参数字段集合。
paramFields->Add (paramField);

// 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField ();

// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField->ParameterFieldName = "客户 ID";

// 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal->StartValue = __box(42);
rangeVal->EndValue = __box(72);
paramField->CurrentValues->Add (rangeVal);

// 将第二个参数添加到参数字段集合。
paramFields->Add (paramField);

// 将参数字段集合放入查看器控件。
crystalReportViewer1->ParameterFieldInfo = paramFields;

crystalReportViewer1->ExportReport();

转载于:https://www.cnblogs.com/yuanermen/archive/2007/02/26/657529.html

如何向水晶报表数据源中的存储过程传参数……相关推荐

  1. 在报表开发工具Stimulsoft Report报表设计中使用存储过程?

    本文主要介绍如何在Stimulsoft Report 设计中使用存储过程. 创建报表或仪表板时,通常使用存储过程来获取数据.在本文中,我们将介绍如何为常用数据源调用存储过程.使用存储过程创建数据源的复 ...

  2. 获取SQL SERVER某个数据库中所有存储过程的参数

    2019独角兽企业重金招聘Python工程师标准>>> 一.获取指定数据库中所有存储过程的参数的方法 SELECT sp.object_Id as FunctionId, sp.na ...

  3. sql 解析字符串添加到临时表中 sql存储过程in 参数输入

    sql 解析字符串添加到临时表中  sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表   FROM dbo.Func_SplitOneCol ...

  4. Tomcat应用中post方式传参数长度限制

    Tomcat应用中post方式传参数长度限制 jsp页面上是没有限制的,但是在tomcat服务器上有限制,Tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostS ...

  5. 关于Actionscript 3中给Flash传参数方法(一)

    关于Actionscript 3中给Flash传参数方法(一) 今天在测试一个为Audi做Flash AD的时候,发现Audi提供的clicktag是Actionscript 2的代码,在Action ...

  6. oracle存储过程传整数,oracle存储过程传参数

    场景:Oracle存储过程传参数有关问题 Oracle存储过程传参数问题 在存储过程当中传参数的时候可以使用 IF SDATE IS NOT NULL OR EDATE IS NOT NULL THE ...

  7. oracle存过传参,oracle 存储过程 传参数,如果是希望传参值也被利用起来,存储过程里面虽有IN,但OUT必不可少。...

    int point = 0; string MYSTATUS = ""; int kkk = 0; //存储过程的参数声明 OracleParameter[] parameters ...

  8. 使用ODBC向SQLServer存储过程传参数的方法

    存储过程如下: CREATEPROCEDURETestSP @IDint AS RETURN@@ERROR GO 网上的例子都是用Sql的对象来传参数的,于是使用相同的格式写了代码,结果不能传参数,代 ...

  9. 微信小程序连接oracle数据库,【微信小程序】关于微信小程序中跳转传参数与传对象的解析...

    这篇文章主要介绍了微信小程序 跳转传参数与传对象详解及实例代码的相关资料,需要的朋友可以参考下 微信小程序 跳转传参数 传对象 微信小程序跳转传参 一般都是传字符串到下一页,如果要想传对象怎么办呢? ...

  10. 【水晶报表】中如何打印条形码?

    关于在Crystal Report中使用Barcode,On-line Help的说明如下: 有关如何在 Crystal 报表中使用条形码的信息,请访问 Azalea 站点,网址为: http://w ...

最新文章

  1. flash破解工具/flash decompiler
  2. ip地址个数的计算,二进制与 8 比特
  3. 微服务之 EShop on dapr概览
  4. 回顾 | 进击吧! Blazor !第三期 信息交互
  5. 时间同步服务器java,Windows 配置时间同步服务器以及配置时间同步间隔
  6. 华为云ModelArts图深度学习,学习知识还能考取微认证
  7. 【2021Java最新学习路线】java前端开发
  8. PC端稳定性测试探索
  9. 地图整饰-框架与格网
  10. Smali语法汇总(一)
  11. easyui 的 toolbar配合图标使用
  12. 做爬虫的一些技术观点-第450期
  13. MYSQL SHOW VARIABLES简介
  14. NS方程由精确解求源项matlab代码
  15. 教你如何在闲鱼买二手iPhone
  16. 2007 合成孔径雷达成像算法与实现 各figure的matlab实现(第三章 - 图3.2)
  17. WS2812C IO口模拟控制
  18. Python学习之---杨辉三角的五种解法
  19. 人工智能 | ShowMeAI资讯日报 #2022.06.24
  20. crypto 抄错的字符

热门文章

  1. [转]献给2010年仍然单身的80后
  2. [转]对企业管理和团队的理解
  3. WPF:Hyperlink如何绑定数据
  4. 给.Net程序员和WEB程序员建议 (转自CSDN)
  5. flash遮住层解决办法
  6. ArcGIS案例学习笔记_3_2_CAD数据导入建库
  7. 学会git bash不求人
  8. web大前端开发中一些常见的安全性问题
  9. Codeforces 853A 贪心 优先队列
  10. 深入了解absolute