Relations.Add报错:System.ArgumentException:“不能启用此约束,因为不是所有的值都具有相应的父值。”

作者:C/S框架网|www.csframewo  发布日期:2023/03/16 11:13:15
  Relations.Add报错:System.ArgumentException:“不能启用此约束,因为不是所有的值都具有相应的父值。”

Relations.Add报错:System.ArgumentException:“不能启用此约束,因为不是所有的值都具有相应的父值。” 这句话的意民是,子表的数据不是每一个值在主表中都有相联系的值。通常我们做dataset两个表的数据关联时,会使用一个主外键ID把两个表关联起来:

贴图图片-微信截图_20230316110804



解决方案


使用带 createConstraints 参数的构造器:


C# Code:

public DataRelation(string relationName, DataColumn parentColumn, DataColumn childColumn, bool createConstraints);

//来源:C/S框架网 | www.csframework.com | QQ:23404761



把代码修改为:


C# Code:

DataRelation R1 = new DataRelation("R1", parentColumn, childColumn, false);

//来源:C/S框架网 | www.csframework.com | QQ:23404761



报表预览:


贴图图片-xtrareport主从表

C/S框架网|原创精神.创造价值.打造精品



参考文档:

C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
EFCore报错:OracleException: ORA|01465: 无效的十六进制数字|C/S开发框架
.NETCore使用EF保存图片报错:OracleExceptiol: ORA|01460:转换请求无法实施或不合理|C/S开发框架
EF报错:从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值|C/S开发框架
GIT报错:Could not get HEAD hash. libgit2 returned:repository path "xx" is not owned by current user
SqlBulkCopy.WriteToServer报错:“Unable to cast object of type 'System.Guid' to type 'System.String'.”
CSFramework.EF数据库框架测试MySqlBulkLoader批量插入功能报错(解决方案)
FastReport.NET报错 System.PlatformNotSupportedException:“Operation is not supported on this platform.”
XtraReport 报错:Report scripts were found in the application while the script execution is disabled.
VS2022窗体设计器保存报错:应有两个或多个类部件
保存报错:当前记录已被其它用户删除,刷新数据失败-C/S开发框架
OLEDB创建DbConnection连接Excel文件报错:未在本地计算机上注册ACE.OLEDB
MySQL数据库-角色分配权限报错:MenuCaption不属于表tb_MyMenu
代码生成器生成ORM报错:不能在 colLength 列中存储 。所需类型是 Int32。
IIS承载WCF部署报错:未能加载文件或程序集或它的某一个依赖项(但是VS运行正常)