C# 在C/ADO.NET 2.0中,如果子表包含在父表中没有父表的行,是否可以将DataRelation添加到数据集
如果我用DataAdapters填充数据集,这些DataAdapters从Orders和Customers中选择所有行并调用: 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); } 从 如果存在没有客户的订单,则会出现运行时错误。当客户被删除时,有缺陷的程序没有删除客户的订单时,可能会发生这种情况 除了下订单选择字符串外,我还能做什么?附加where条件: CUSTID IN (SELECT DISTINCT CUSTID FROM CUSTOMERS) 或者:真的是所有的孩子都必须有父母吗?我的代码可能也有bug。在代码中将关系添加到填充的数据集时,会发生异常。例外情况是: System.Data.dll中发生类型为“System.ArgumentException”的未处理异常 其他信息:无法启用此约束,因为并非所有值都具有相应的父值C# 在C/ADO.NET 2.0中,如果子表包含在父表中没有父表的行,是否可以将DataRelation添加到数据集,c#,ado.net,C#,Ado.net,如果我用DataAdapters填充数据集,这些DataAdapters从Orders和Customers中选择所有行并调用: private void CreateRelation() { // Get the DataColumn objects from two DataTable objects // in a DataSet. Code to get the DataSet not shown here. DataColumn parentColumn =
感谢并致以最诚挚的问候-MattiAdd方法上有一个重载,它包含一个bool值来强制约束或不强制约束。我想我以前用过这样的方法:
DataRelation dr = ds.Relations.Add("name", DataColumnParent, DataColumnChild, false);
编辑
很抱歉,唯一的重载在此方法签名上:
谢谢!我在接受之前试过了。
DataRelationCollection.Add(String, DataColumn[], DataColumn[], bool)