0

とても簡単な質問があります。

SQL のストアド プロシージャを作成したところ、次のようになりました。

    IF(@CurrentStatus='Fulfilled')
    BEGIN
        RAISERROR ('Opps, this item is too hot to last too long. It is SOLD OUT!',16, 1)
        RETURN -1           
    END

条件が満たされた場合、エラー メッセージが返されます。

私の C# コード ビハインドでは、try-catch ブロックを使用しています。

上記のストアド プロシージャからのエラー メッセージを画面に表示したいだけです。では、どの例外タイプを使用すればよいでしょうか?

これが私のコードです:

            try
        {
            storeDB.AddToBuyingOrders(newOrder);
            storeDB.SaveChanges();
            TempData["Result"] = "Added";
            return View();
        }
        catch (SqlException ex)
        {
            TempData["Result"] = ex.InnerException.Message.ToString();
            return View();
        }
4

1 に答える 1

1

どうしてそんなことを質問するのだろうか。Exceptionコードにブレークポイントを設定すると、数秒以内に答えが得られます!!! 自分でやらないとどんな問題があるのか​​ 興味があったからといって、実際の例を作成するのに5分もかかりませんでした。

キャッチする例外タイプを修正するEntityCommandExecutionExceptionか、またはその親EntityExceptionです。はSqlExceptionそのInnerExceptionプロパティにあり、そこにメッセージが表示されます。

于 2011-07-07T21:35:42.033 に答える