2016-06-16 11 views
0

私は請求書番号の存在のためのストアドプロシージャを書いています。私はパラメータとして請求番号を渡します。私は新しい請求書を作成し、ユーザーが既に生成された請求書の番号を入力すると、この照会で請求書の詳細を戻すことを望みます。一方、その請求書が更新モードで開かれている場合、その請求書は何も返されません。私はたくさん試して、更新モードが動作しているが、新しい請求書の場合も同じ応答を与えている。親切に助けてください。 以下は私のSP同じ請求書の更新ではなく、新しい請求書生成で既存の請求書番号を検証する方法は?

DECLARE @billID AS INT; 
      SELECT @billID = billID 
      FROM dbo.eInvoice_tbl_billInfo 
      WHERE billNumber = 'GW-090' 
      PRINT @billID 
      IF @billID = NULL 
       BEGIN 
        PRINT 'new' 
        SELECT billNumber 
        FROM dbo.eInvoice_tbl_billInfo 
        WHERE billNumber = 'GW-090' 
       END 
      ELSE 
       BEGIN 
        PRINT 'update' 
        IF NOT EXISTS (SELECT billNumber 
            FROM dbo.eInvoice_tbl_billInfo 
            WHERE billNumber = 'GW-090' 
              AND billID != 154) 
         BEGIN 
          SELECT billNumber 
          FROM dbo.eInvoice_tbl_billInfo 
          WHERE billNumber = 'GW-090' 
              AND billID != 154 
         END 

       END 

あなたの助けに感謝します。

IF @billID is NULL 

代わりにそれはSQLの比較演算子でnullをどのように扱うかに尽きる

IF @billID = NULL 

の:

+0

あなたは、新しいケースでbillID = NULLがここで満たされているかどうかを確認しましたか? – Malcolm

答えて

0

サーバー側から請求IDの新しいパラメータを追加するだけで、この問題は解決されます。この問題は解決されました。

+0

あなたのコードに関係なく、IF @billID = NULLは決して真ではありません。つまり、 'New' Bill Ids。 – Ash

0

あなたはあなたにヌルの比較を変更する必要があります。

関連する問題