在水晶报告8.5中使用存储过程?

时间:2009-11-24 10:38:30

标签: stored-procedures vb6 crystal-reports parameters

我使用Crystal Reports 8.5(report1)创建了一个新报告,该报告使用存储过程作为其数据源。存储过程有2个输入参数(@ p1和@ p2),当我在水晶报表IDE中输入@ p1和@ p2的一些测试数据时,每件事都可以。然后,我在visual basic 6.0 IDE中添加了report1,并在form1上添加了一个新表单(form1)和一个水晶报表查看器控件。现在请帮助我:我想展示报告1。我应该编写什么代码来显示它?如何通过应用程序将用户输入的数据输入到存储过程参数中? 我也得到这个错误消息:服务器尚未打开“

怎么了?

1 个答案:

答案 0 :(得分:0)

Specifying a report

假设已将SampleReport添加到.Net项目中:

Dim parameter1 As CrystalDecisions.Shared.ParameterField
Dim parameter2 As CrystalDecisions.Shared.ParameterField

With SampleReport
    .SetDatabaseLogon("user", "password", "server", "database")
    'locate first parameter in report
    parameter1 = .ParameterFields.Find("@p1", "")
    'locate second parameter in report
    parameter2 = .ParameterFields.Find("@p2", "")
End With

'create a new discrete-parameter value
Dim stringValue As New CrystalDecisions.Shared.ParameterDiscreteValue()
stringValue.Value = "USA"

'assign it to the parameter's current values collection
parameter1.CurrentValues.Add(stringValue)

'create a new discrete-parameter value
Dim numberValue As New CrystalDecisions.Shared.ParameterDiscreteValue()
numberValue.Value = 100

'assign it to the parameter's current values collection
parameter2.CurrentValues.Add(numberValue)

With Me.CrystalReportViewer1
    .ReportSource = SampleReport
End With