Crystal Report从“Like”Sql传递存储过程参数

时间:2014-03-17 01:58:02

标签: sql vb.net crystal-reports vb.net-2010

我在将存储过程参数传递给crystal report时遇到问题。我尝试传递参数,但结果不像我预期的那样。参数可以传递,但问题是参数的值必须正好是参数的值。在我的情况下,我想制作能够显示报告的报告" like"查询,因此参数可以是实数值上的一个,两个或其他字母。

我尝试过使用该组并在选择公式中记录,但结果相同,参数必须与该值完全相同,并且不能只是该值的字母成员的一部分。

我的桌子可能有点像这样:

employee table
-----------------------
id | name | address   |
01 | Chloe| St. Rose  |

我的sql可能有点像这样:

    create proc sp_search
    @name varchar(50),
    @address varchar(50)
    as
    select * from employee where name like '%'+@name+'%' 
    and address like '%'+@address+'%'

用于传递参数的.net代码:

Sub show_search_employee()
    With Me
        Dim report As New employee_report
        report.SetDataSource(ds)
        report.SetParameterValue("@name", name.text) //name parameter
        report.SetParameterValue("@address", address.Text) //address parameter
        form_employee_report.crv_employee.ReportSource = report //set report source
    End With
End Sub

我的水晶报告公式(我只需双击数据库字段,输入' =',然后双击参数)

{sp_employee_report;1.name} like {?@name} and
    {sp_employee_report;1.address} like {?@address}

如果name参数和地址参数恰好是值,则可以显示结果,如果我想要显示' 01',我必须输入名称和地址'克洛伊'和' st。玫瑰&#39 ;.如果我只是设置名称' C'或地址“玫瑰”,没有显示任何价值。我想设置名称参数就像' C'或者' Ch'显示第一行,就像' Like'函数从sql工作。 谢谢你的回复

0 个答案:

没有答案