2011-08-14 17 views
0

私の教科書には書かれていますが、データベースにレコードを追加しようとすると内部例外をキャッチするのにまだ問題があります。私のクラスでInnerExceptionをキャッチするための正しい構文は何ですか?ASP.net InnerException:DBにレコードを追加

db.SaveChangesに内部例外がスローされています。ここでは、レコードを追加するために、私の「addReviews.cs」クラスファイル内のコードは次のとおりです。事前に

public void addReview(int restId, int timeID, string dateValue, string describe, int cuisineId, int serviceId, int ambianceId, string memberId) 
    { 
     REVIEW addReview = new REVIEW(); 
     addReview.REVIEW_DATE = Convert.ToDateTime(dateValue); 
     addReview.REVIEW_DATE_SUBMITTED = DateTime.Today; 
     addReview.REVIEW_DESC = describe; 
     addReview.TIME_ID = timeID; 
     addReview.REVIEWER_ID = 1; 
     addReview.FOOD_ID = cuisineId; 
     addReview.SERVCE_ID = serviceId; 
     addReview.AMBIENCE_ID = ambianceId; 
     addReview.REST_ID = restId; 
     addReview.PRICE_ID = 1; 

     //Add record to database 
     db.AddToREVIEWs(addReview); 
     db.SaveChanges(); 
    } 

ありがとう!

答えて

1

はこれを試してみてください:

try 
{ 
    db.SaveChanges(); 
} 
catch(ApplicationException exception) 
{ 
    // just log and throw out 
    System.Diagnostics.Debug.WriteLine(
       String.Concat(
        "EXCEPTION: ", 
        exception.ToString)); 

    if (exception.InnerException != null) 
    { 
     System.Diagnostics.Debug.WriteLine(
       String.Concat(
        "INNER EXCEPTION: ", 
        exception.InnerException.ToString)); 
    } 

    throw; 
} 

PS:あなたのケースでは、それは価値があるだけでなくSqlExceptionをキャッチするために、より具体的な例外をキャッチしようとします。

+0

ありがとうございました....私は午前中に試してみる...ちょうどコールを持って行きたい! – Susan

+0

OMG ...私はdbに変更を加え、エンティティモデルを更新するのを忘れました。それほど速くはありません。便利なので、助けてくれてありがとう、私はこのプロジェクトを続けます。よろしく! – Susan

関連する問題