2016-09-19 3 views
0

私はこのエラーを取得する"プロシージャまたは関数 'のストアドプロシージャエラーをデバッグする方法X'にはパラメータ '@Y'が指定されていませんでした。"

ALTER Procedure [dbo].[spSearch_Stock] 
    (@KeyW varchar(50), 
    @Empty int) 
AS 
BEGIN 
    SET @Empty = (SELECT COUNT(Customer) FROM tbl_Stock) 

    IF @Empty > 0 
     SELECT 
      StockID, Abb, LotNo, InvoiceNo, TeaState, Customer, Broker, 
      TeaGrade, Pkgs, NetWeight, TotWeight, PriceUSD, CurrencyRate, 
      TotalAmtUSD, BrokerageUSD 
     FROM 
      tbl_Stock 
     WHERE 
      (Abb) LIKE '%'[email protected]+'%' 
     ORDER BY 
      StockID ASC, Abb ASC 
    ELSE 
     SELECT 
      'null' as StockID, 'null' as Abb, 'null' as LotNo, 
      'null' as InvoiceNo, 'null' as TeaState, 'null' as Customer, 
      'null' as Broker, 'null' as TeaGrade, 'null' as Pkgs, 
      'null' as NetWeight, 'null' as TotWeight, 
      'null' as PriceUSD, 'null' as CurrencyRate, 
      'null' as TotalAmtUSD, 'null' as BrokerageUSD 
END 

以下のように私のスクリプトは次のとおりです。

Procedure or function 'spSearch_Stock' expects parameter '@Empty', which was not supplied

+1

2つのパラメータを渡すことなくあなたのSPを呼び出すかもしれません。 – TheGameiswar

+0

使用しているdbmsにタグを付けてください。 (製品固有のSQLです) – jarlh

+0

Oops @marc_sは、タイトルを修復するために必要なものです。有用なビットを取り出し、「エラーで助けてください」と言っています;-) – halfer

答えて

0

あなたのストアドプロシージャは、2つのパラメータがあり、あなたが両方の...

さらに私はあなたを見渡していないようですクエリに値渡しに関係なく@Emptyを設定しているので、以下のようにストアドプロシージャを変更することをお勧めします。

ALTER Procedure [dbo].[spSearch_Stock] 
    (@KeyW varchar(50)) 
AS 
BEGIN 
    Declare @empty int 

    select @empty = COUNT(Customer) FROM tbl_Stock 

    -- Body of stored procedure 
END 
関連する問題