日期:2014-05-18  浏览次数:20886 次

更新数据时出错:子表包含相关记录,不能删除或改变该记录
有a和b2个表,a是b的父表,当更新a表时显示错误信息:由于表'b'中了包含相关记录,不能删除或改变该记录。
这2个表是有关系的,级联更新我已经去掉了,但还是不行。
代码是直接用dataset.update(datatable)方法的。
怎么办?

------解决方案--------------------
学习之中,帮顶一下
------解决方案--------------------
把关系删除,或者打开级联删除问题可解决

但是楼主先要搞清楚,你到底是否希望用户可以随便删除a中的纪录
------解决方案--------------------
楼主把你两表之间的"级联更新"、“级联删除”选中,即可去掉该错误信息

这样有个风险就是,你删除或修改了A表里的记录,亦会影响B子表里的记录。
------解决方案--------------------
b表的外键在中

为了不在数据库里留下脏数据,建议楼主还是写个触发器,把b表里和a相关的数据同时删除。
------解决方案--------------------
级联删除 和 级联更新 啊
------解决方案--------------------
支持4楼 的建议,   另外  如果用的是sql 建议lz 在更新或删除的存储过程里加上 事物处理(事物回滚)