2011-08-14 3 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 ... 내 데이터베이스를 변경했고 엔티티 모델을 업데이트하는 것을 잊었습니다. 너무 빠르지 않다. 도움이되어 주셔서 감사 드리며이 프로젝트를 계속 진행합니다. 문안 인사!!! – Susan

관련 문제