存储过程和水晶报表 [英] stored procedure and crystal report
问题描述
我们能否将带有if else条件的存储过程绑定到Crystal Report
存储过程如下所示
[sp_report_select_paymentsettlemnt_details]
@settlementperiodcode nvarchar(15),@ fromdate datetime,@ todate datetime,@ condition nvarchar(2)
AS
开始
如果@ condition = 3
--paysettled
开始
选择*
从dbo.view_paymentsettlemnt_details作为t1
在哪里结算期码= @ settlementperiodcode和tdate> = @ fromdate和tdate< = @ todate和paymentsettlementid<>''''''
ORDER BY acccode,itemcode;
END
否则,如果@ condition = 2
开始
选择*
从dbo.view_paymentsettlemnt_details作为t1
在哪里结算期间代码= @ settlementperiodcode和tdate> = @ fromdate和tdate< = @ todate和paymentsettlementid =''''
ORDER BY acccode,itemcode;
END
其他
--all
开始
选择*
从dbo.view_paymentsettlemnt_details作为t1
在哪里结算周期代码= @ settlementperiodcode和tdate> = @ fromdate和tdate< = @ todate
ORDER BY acccode,itemcode;
END
END
它总是给出相同的结果
can we bind a stored procedure with if else condition to crystal report
Stored procedure Shown below
[sp_report_select_paymentsettlemnt_details]
@settlementperiodcode nvarchar(15),@fromdate datetime ,@todate datetime,@condition nvarchar(2)
AS
BEGIN
if @condition=3
--paysettled
BEGIN
SELECT *
FROM dbo.view_paymentsettlemnt_details as t1
WHERE settlementperiodcode =@settlementperiodcode and tdate>=@fromdate and tdate<=@todate and paymentsettlementid<>''''
ORDER BY acccode, itemcode;
END
else if @condition=2
BEGIN
SELECT *
FROM dbo.view_paymentsettlemnt_details as t1
WHERE settlementperiodcode =@settlementperiodcode and tdate>=@fromdate and tdate<=@todate and paymentsettlementid=''''
ORDER BY acccode, itemcode;
END
else
--all
BEGIN
SELECT *
FROM dbo.view_paymentsettlemnt_details as t1
WHERE settlementperiodcode =@settlementperiodcode and tdate>=@fromdate and tdate<=@todate
ORDER BY acccode, itemcode ;
END
END
It always give same result
推荐答案
当您检查Nvarchar时总是应该像这样
如果@condition =''3''
可能是您在SP中的错误
When you check Nvarchar Always should be like this
if @condition=''3''
may be this is your mistake in SP
这篇关于存储过程和水晶报表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!