没有从存储过程中获得任何结果

时间:2021-03-30 10:08:12

I have the following procedure interface:

我有以下程序界面:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar
)
AS

select 
    *
from
    s_ItemDetails
where
    SiteURL = @SiteURL

When I call it this way:

当我这样称呼时:

DECLARE @return_value int

EXEC    @return_value = [dbo].[GetsItemDetails]         @SiteURL =
N'fgh'

SELECT  'Return Value' = @return_value

I get nothing when there is a record with siteURL "fgh"

当有一个记录与siteURL“fgh”时我什么也得不到

2 个解决方案

#1


4  

You forgot to specify the size of the parameter.

您忘了指定参数的大小。

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar
)
AS

Without size it is 1 character.

没有大小,它是1个字符。

Specify the same size as your columns size for SiteURL.

指定与SiteURL的列大小相同的大小。

Something like this:

像这样的东西:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(255)
)
AS

#2


1  

try this:

尝试这个:

CREATE procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(1000)
)
AS
DECLARE @str varchar(1000)
SET @str='select * from s_ItemDetails where  SiteURL ='+ ''''+@SiteURL+''''
select @str

#1


4  

You forgot to specify the size of the parameter.

您忘了指定参数的大小。

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar
)
AS

Without size it is 1 character.

没有大小,它是1个字符。

Specify the same size as your columns size for SiteURL.

指定与SiteURL的列大小相同的大小。

Something like this:

像这样的东西:

create procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(255)
)
AS

#2


1  

try this:

尝试这个:

CREATE procedure [dbo].[GetsItemDetails]
(
    @SiteURL varchar(1000)
)
AS
DECLARE @str varchar(1000)
SET @str='select * from s_ItemDetails where  SiteURL ='+ ''''+@SiteURL+''''
select @str