C#의 데이터 테이블에서 행을 제거하려고 할 때 문제가 발생했습니다. 문제는 데이터 테이블이 SQL로 작성 되었기 때문에 여러 열을 가질 수 있고 기본 키가 있거나 없을 수 있다는 것입니다. 따라서 특정 열의 값이나 기본 키를 기반으로 행을 제거 할 수 없습니다. "주어진 DataRow를 현재 DataRowCollection에없는"나에게 오류 메시지를 제공하는,C#의 일반 데이터 테이블에서 행을 제거
//Set up a new datatable that is an exact copy of the datatable from the SQL table.
newData = data.Copy();
//...(do other things)
foreach (DataRow dr in data.Rows)
{
//...(do other things)
// Check if the row is already in a data copy log. If so, we don't want it in the new datatable.
if (_DataCopyLogMaintenance.ContainedInDataCopyLog(dr))
{
newData.Rows.Remove(dr);
}
}
그러나 :
는 여기에 내가 뭘하는지의 기본적인 개요입니다. newData가 직접적인 데이터 복사본이라는 점을 감안하면 어떤 의미가 없습니다. 다른 사람에게 제안 사항이 있습니까? MSDN 사이트는 별 도움이되지 않았습니다.
감사합니다.
예, _copy_가 있지만 _ 그 행 _이 없습니다. newData에서 행을 제거하려면 다른 행의 행이 아니라 포함 된 행 중 하나를 참조해야합니다 (정확한 복제에도 불구하고 여전히 다르며 동일한 행을 제거하는 데 사용할 수 없음). newData의 행). –