.NET 4.0 및 SQL Server 2008 R2를 사용하고 있습니다.강력한 형식의 데이터 집합에서 행을 삭제 한 후에 예외가 throw됩니까?
Companies (PK CompanyID)
Addresses (PK AddressID, FK CompanyID)
ContactPersons (PK ContactPersonID, FK CompanyID)
회사 ID는 사용자가 수동으로 할당됩니다
나는 세 개의 테이블이있다. 다른 ID는 자동으로 생성됩니다. 회사는 ContactPerson과 일대 다 관계를 맺고 있습니다. 계단식 변경 사항을 설정했습니다.
DataGridView에서 회사의 모든 레코드를 표시하고 행을 클릭하면 ContactPerson의 해당 레코드가 두 번째 DataGridView에 표시됩니다.
그럼 난과 함께 테이블 ContactPersons에서 행을 삭제합니다
var dataRows_ContactPersons = from row in this.m_SoldaCompaniesFileDataSet.ContactPersons
where row.CompanyID == companyID
select new
{
ContactPersonID = row.ContactPersonID,
CompanyID = row.CompanyID,
NameFirst = row.NameFirst,
NameLast = row.NameLast,
PhoneNumber = row.PhoneNumber,
EmailAddress = row.EmailAddress,
Position = row.Position
};
내가 DeletedRowInaccessibleException가 나타납니다
DataRow row = m_SoldaCompaniesFileDataSet.ContactPersons.Rows.Find(this.m_CurrentContactPerson.ContactPersonID);
row.Delete();
그리고 데이터 소스를 만들 함께있는 DataGridView를 채우기 위해 테이블을 쿼리 할 때 . 어떤 아이디어가 내가 여기서 잘못하고있는 것인가? 내가 곧 (이 모두 하루 동안 나를 데려하지만) 위의 질문을 작성 후를 알아 낸
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public int CompanyID {
get {
try {
return ((int)(this[this.tableContactPersons.CompanyIDColumn])); // <<<--- DeletedRowInaccessibleException
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'CompanyID\' in table \'ContactPersons\' is DBNull.", e);
}
}