Crystal reports 在crystal report 2010的运行时传递参数

Crystal reports 在crystal report 2010的运行时传递参数,crystal-reports,Crystal Reports,这是我的存储过程 USE [DataStock] GO /****** Object: StoredProcedure [dbo].[getBillData] Script Date: 09/19/2014 10:47:21 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[getBillData] @date1 varchar(20), @date2 var

这是我的存储过程

USE [DataStock]
GO

/****** Object:  StoredProcedure [dbo].[getBillData]    Script Date: 09/19/2014 10:47:21 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[getBillData]    

@date1 varchar(20),

@date2 varchar(20)



AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here

    SELECT DISTINCT      [Billlist].[billno] [Bill No.],    temp.[BillDate] [Date],    [Billlist].[user] [Customer Name],    [Billlist].[total] Total,    [paid] Paid,    [discount] Discount FROM temp  JOIN [Billlist] ON temp.[billno] = [Billlist].[billno] WHERE temp.[BillDate] BETWEEN @date1 and @date2

END
GO
我的水晶报告代码是

Report.BillListReport rptBurndown = new Report.BillListReport();
            CrystalDecisions.Shared.ConnectionInfo crDbConnection = new CrystalDecisions.Shared.ConnectionInfo();
            crDbConnection.IntegratedSecurity = true;
            crDbConnection.DatabaseName = "DataStock";
            crDbConnection.ServerName = ChangeableFields.ServerName;
            CrystalDecisions.CrystalReports.Engine.Database crDatabase = rptBurndown.Database;
            CrystalDecisions.Shared.TableLogOnInfo oCrTableLoginInfo;
            foreach (CrystalDecisions.CrystalReports.Engine.Table oCrTable in
              crDatabase.Tables)
            {
                oCrTableLoginInfo = oCrTable.LogOnInfo;
                oCrTableLoginInfo.ConnectionInfo = crDbConnection;
                oCrTable.ApplyLogOnInfo(oCrTableLoginInfo);
            }

            crystalReportViewer1.ReportSource = rptBurndown;
            crystalReportViewer1.RefreshReport();
我不知道如何在运行时解析参数


在这段代码中,当它运行时会出现另一个弹出窗口。我需要在运行时提供这些参数。

在分配给报表源之前,调用SetParameterValue,并为每个参数指定名称和值

rptBurndown.SetParameterValue("ParameterName", value);

谢谢你@reckface!但它不起作用!那个弹出窗口又来了。什么窗口,弹出窗口到底在说什么?尝试调用SetLogonInfo一次,并暂时注释掉for each语句以应用登录信息,看看会发生什么。这里没有问题!弹出窗口要求填写日期1和日期2字段!!现在小数部分在另一个报表中显示为这样,我能做什么?确保传入参数值的数据与预期的数据类型匹配。无法对其他报告发表评论,但我可以告诉您,通常不需要对每个表应用登录信息。我观察到这样做的奇怪行为。我在报告级别调用了一次SetLogonInfo。我已经应用了loginfo na!那它为什么来了?有时它运行正常。但主要是它的ask参数值