2012-07-26 65 views
0

我有以下程序界面:没有得到任何结果从存储过程

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

select 
    * 
from 
    s_ItemDetails 
where 
    SiteURL = @SiteURL 

当我打电话这样说:

DECLARE @return_value int 

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

SELECT 'Return Value' = @return_value 

我得到什么时,有与SITEURL记录“FGH “

+0

,但我想所有列作为输出寿 – 2012-07-26 09:02:19

回答

4

您忘记指定参数的大小。

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

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

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

事情是这样的:

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

我没有意识到 – 2012-07-26 09:03:37

+0

问题解决了,欢呼:) – 2012-07-26 09:04:43

1

试试这个:

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