2012-07-26 71 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