关于主-明细数据表的反常规问题,请大家给帮帮忙吧。 在主明细数据表连接好后,我想删除主表中的记录而不删除明细表中的记录,应该怎么做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你不处理的话,主表.delete只会删除主表的数据,从表的数据并不会删除,当然,由于主表已被删除,你无法从DBGrid里面看到从表的数据,但在数据库中仍然存在 主明细表的关联用手动方式处理,如果是用ADO,那么就在主表(TADOQuery)的AfterScroll中处理两表的关联关系。如:主表的SQL是SELECT * FROM MasterTable从表的SQL是SELECT * FROM DetailTable而主从表有一关联字段。那么主表的AfterScroll事件如下: adqDetail.Parameters[0].Value := adqMaster.FieldByName(adqDetail.Parameters[0].Name).Value;并且在数据库,主表与从表不设置级联删除。那么,除非你在代码中做了级联删除的处理,那么当你删除主表的记录时,从表相关数据不会被删除。 麻烦高手解析一下下面的代码,谢谢 delphi关于cooki的操作 怎么用鼠标滚动来控制DBGRID移动? 为什么带密码的ACCESS数据库不允许两个程序同时连接?请高手帮忙 用delphi的SQL Explorer怎么连接Sybase数据库,需要设置哪几个参数? 关于捕捉 Exception 如何动态创建sql server数据库的别名,着急ing 请问10进制换成16进制用什么函数? 关于数据库连接的问题,请高手帮忙解决一下 为什么我用update不更新指定的字段及如何动态组成sql语句 请教下关于反编译的问题!急需援助! TLabel控件为什么后面的字显示不出来?
主表的SQL是SELECT * FROM MasterTable
从表的SQL是SELECT * FROM DetailTable
而主从表有一关联字段。那么主表的AfterScroll事件如下:
adqDetail.Parameters[0].Value :=
adqMaster.FieldByName(adqDetail.Parameters[0].Name).Value;
并且在数据库,主表与从表不设置级联删除。那么,除非你在代码中做了级联删除的处理,那么当你删除主表的记录时,从表相关数据不会被删除。