Order 및 Customers의 모든 행을 선택하는 DataAdapters로 DataSet을 채우고 전화하면자식 테이블에 부모 테이블에 부모가없는 행이 C#/ADO.NET 2.0에있는 경우 DataSet에 DataRelation을 추가 할 수 있습니다.
고객이없는 주문이있는 경우private void CreateRelation() { // Get the DataColumn objects from two DataTable objects // in a DataSet. Code to get the DataSet not shown here. DataColumn parentColumn = DataSet1.Tables["Customers"].Columns["CustID"]; DataColumn childColumn = DataSet1.Tables["Orders"].Columns["CustID"]; // Create DataRelation. DataRelation relCustOrder; relCustOrder = new DataRelation("CustomersOrders", parentColumn, childColumn); // Add the relation to the DataSet. DataSet1.Relations.Add(relCustOrder); }
는
(http://msdn.microsoft.com/en-us/library/system.data.datarelation.aspx에서) 런타임 오류가있을 것입니다. 이는 버그가있는 프로그램이 고객이 삭제되었을 때 고객의 주문을 삭제하지 않은 경우에 발생할 수 있습니다.
내가 무엇을 넣어 주문 제외하고 추가 곳 조건을 선택 문자열을 수행 할 수 있습니다
CUSTID IN (SELECT DISTINCT CUSTID FROM CUSTOMERS)
을 OR : 정말 그런 식으로 (모든 아이들이 부모를해야한다는)인가? 내 코드에도 버그가있을 수 있습니다. 내 코드에서 채워진 DataSet에 관계를 추가 할 때 예외가 발생합니다. 예외이다
형 'System.ArgumentException'처리되지 않은 예외가 system.data.dll
발생 상세 내용이 제약 모든 값이 대응하는 상위 값이 없다로 사용할 수 없다.
감사 & 베스트 감사합니다 - 마티
제약 여부를 시행하는 부울 값을 포함 추가() 메소드에 과부하가있다
고마워요! 나는 내가 인정하기 전에 시험해 본다. –