如何将参数值传递给 crystal 报告的数据源
How to pass parameter value to crystal report's data source
我有一个存储过程,我在我的 crystal 报告中得到了它
CREATE FUNCTION [dbo].[SP_MainContent]
( @from int,
@to int,
@year int,
@office varchar(MAX),
@fund varchar(MAX)
)
RETURNS TABLE
AS
RETURN (
SELECT AccntTbl.Id,
AccntTbl.accnt,
ISNULL(SupplyTbl.Supply, 0) AS Supply,
AccntTbl.office,
AccntTbl.exp,
AccntTbl.dateCreated
FROM AccntTbl
LEFT JOIN
(SELECT idAccnt,
SUM(amount) AS Supply
FROM SuppyTbl AS SupplyTbl1
WHERE MONTH(dateCreated) BETWEEN @from AND @to
AND YEAR(dateCreated) = @year
AND fund = @fund
GROUP BY idAccnt) AS SupplyTbl
WHERE YEAR(AccntTbl.dateCreated) = @year
AND AccntTbl.office = @office
AND AccntTbl.fund = @fund
GROUP BY AccntTbl.Id,
AccntTbl.accnt,
AccntTbl.appro,
Supply.Supply
);
并在 VB.NET
Dim ad As New SqlDataAdapter("SP_MainContent '" & 1 & "', '" & 2 & "', '" & 2016 & "', " & _
" 'office', 'food'", conn)
Dim ds As New DataSet
Dim rpt As New CRreport
ad.Fill(ds, "SP_MainContent")
rpt.SetDataSource(ds)
CrystalReportViewer1.Refresh()
CrystalReportViewer1.ReportSource = rpt
但是每次打开报告都会弹出这个window,太烦人了。
如何阻止它弹出?每当我在 vb.net
中打开我的报告时
很高兴得到任何帮助..tnx :)
您应该传递如下参数值
rpt.SetParameterValue("@param_name", the_value)
我有一个存储过程,我在我的 crystal 报告中得到了它
CREATE FUNCTION [dbo].[SP_MainContent]
( @from int,
@to int,
@year int,
@office varchar(MAX),
@fund varchar(MAX)
)
RETURNS TABLE
AS
RETURN (
SELECT AccntTbl.Id,
AccntTbl.accnt,
ISNULL(SupplyTbl.Supply, 0) AS Supply,
AccntTbl.office,
AccntTbl.exp,
AccntTbl.dateCreated
FROM AccntTbl
LEFT JOIN
(SELECT idAccnt,
SUM(amount) AS Supply
FROM SuppyTbl AS SupplyTbl1
WHERE MONTH(dateCreated) BETWEEN @from AND @to
AND YEAR(dateCreated) = @year
AND fund = @fund
GROUP BY idAccnt) AS SupplyTbl
WHERE YEAR(AccntTbl.dateCreated) = @year
AND AccntTbl.office = @office
AND AccntTbl.fund = @fund
GROUP BY AccntTbl.Id,
AccntTbl.accnt,
AccntTbl.appro,
Supply.Supply
);
并在 VB.NET
Dim ad As New SqlDataAdapter("SP_MainContent '" & 1 & "', '" & 2 & "', '" & 2016 & "', " & _
" 'office', 'food'", conn)
Dim ds As New DataSet
Dim rpt As New CRreport
ad.Fill(ds, "SP_MainContent")
rpt.SetDataSource(ds)
CrystalReportViewer1.Refresh()
CrystalReportViewer1.ReportSource = rpt
但是每次打开报告都会弹出这个window,太烦人了。
如何阻止它弹出?每当我在 vb.net
中打开我的报告时很高兴得到任何帮助..tnx :)
您应该传递如下参数值
rpt.SetParameterValue("@param_name", the_value)