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