2010-01-05 2 views
0

'DeletedRowInaccessible Exception', '삭제 된 행 정보는 행을 통해 액세스 할 수 없습니다.'라는 메시지가 나타납니다.C#에서 행을 삭제할 때 오류가 발생했습니다.

나는 행 삭제시이 코드에서이 예외를 되풀이합니다.

BindingSource_ListChanged(-) 
{ 
    payment=(from row in ServiceDataset.ServiceDataset.ServiceOrderPayments 
    where row.Code==ServiceOrdersRow.Code 
    select row.payment).sum() 
} 

나는이 코드를 사용하여 지불금을 계산합니다.

하지만 행을 삭제하고 행의 행 상태를 삭제됨으로 설정하면이 오류가 발생합니다. 이미 삭제 제외되는 것, 그것은 형식화 된 데이터 집합의 테이블의 가정

row.Code == ServiceOrdersRow.Code 

답변

1

내가 그 ServiceOrderPayments을 기대 :

PLZ를 Where 확인 나에게

+0

row.RowState를 제거! =이 DataRowState.Deleted이 좋지 않다 내가 사용 removecurrent() 메소드 행을 삭제할 때 내가 오류를 받아 봐 죄송 생각. RowState는 [FlagsAttribute] 열거 형이므로 삭제 된 상태를 다른 상태와 결합하여 레코드를 삭제하더라도! =이 false가 될 수 있습니다. (row.RowState & DatarowState.Deleted) == 0 – PolicyWatcher

7

도움, A는 '=='이 있어야한다 행,하지만하지 않으면 것은, 단순히 where 절을 업데이트하면이 문제를 해결합니다 :

where row.RowState != DataRowState.Deleted && row.Code == ServiceOrdersRow.Code 

을 당신은 또한 가능성을 고려해야하지만 그것은를 있다고삭제되었습니다.

+0

예. 많은, 많은 C#, 기타 오류의 발생. –

+0

확인 내가 행동 에서 '=='를 사용하지만 난 행 –

관련 문제