删聊主从表的问题:

JZG 2001-06-20 10:02:00
在多层数据库中:当主从表都有记录时我想删除这条记录,为什么出现异常说从表有记录允许删除呢,你们知道吗应如何删除代码吗?谢谢!
...全文
164 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxh 2001-08-08
  • 打赏
  • 举报
回复
sxh(前方)的回答是正确的。为什么不给分呢?呵呵
BlueTrees 2001-06-22
  • 打赏
  • 举报
回复
呵呵!不是,提交事务是在服务器端完成的,任何改变都会提交到你的服务器端的应用程序(一般情况下)有没有其他的情况我还没研究
sandAhrow 2001-06-22
  • 打赏
  • 举报
回复
to 蜗牛
它不是先在客户端删除记录,然后再向服务器提交事务的吗?
BlueTrees 2001-06-22
  • 打赏
  • 举报
回复
你是不是在服务器端的数据元件和客户端的数据元件都设置了主从表关系?
sandAhrow 2001-06-21
  • 打赏
  • 举报
回复
to 蜗牛
那这种情况是在三层数据库才会发生吗?
好像两层数据不会这样呀!
sandAhrow 2001-06-21
  • 打赏
  • 举报
回复
那这种情况是在三层数据库才会发生吗?
好像两层数据不会这样呀!
BlueTrees 2001-06-21
  • 打赏
  • 举报
回复
问题就在于SQL支持级联删除,如果你在数据库中设计了表与表之间的联系,并且定义了删除主表纪录时同时删除从表的关联纪录的规则,那么请设想一下,你在Delphi的程序中删除主表记录后会发生神情况呢?就是数据库同时自动的删除了所有从表的相关纪录,而Delphi的应用程序中的从表并不知道数据库中已经没这条记录了,他也自动的去删除从表的相关纪录,他就会发生错误,一般的它会报告数据库中的记录不存在,在ADO中会报告书签发生了变化,无法定位纪录
sandAhrow 2001-06-21
  • 打赏
  • 举报
回复
sql数据库不是支持级联删除的吗?
oldFoxFox 2001-06-21
  • 打赏
  • 举报
回复
如果您用的是sql数据库,则可以用一个存储过程来实现,您可以先给存储过程传递要删除的
主表记录的主键,然后在存储过程中把从表中和该主键关联的所有记录先删除,之后再删除主
表中该主键标识的记录。之后在客户端中更新数据集即可。
myxfang 2001-06-21
  • 打赏
  • 举报
回复
gz
hj_cn 2001-06-21
  • 打赏
  • 举报
回复
用的是SQL数据库
sandAhrow 2001-06-21
  • 打赏
  • 举报
回复
你用的是paradox表格吧!它只能级联更新,不能级联删除!
先删除子表对应的记录,再删除主表记录!!!
sxh 2001-06-21
  • 打赏
  • 举报
回复
在删除时要遵循先删从表再删主表的规则!
JZG 2001-06-20
  • 打赏
  • 举报
回复
不大理解吗详细点好吗
ylk_pop 2001-06-20
  • 打赏
  • 举报
回复
1.在服务器端建立Trigger.
2.在主表的BeforDelete中做Circle 先delete从表中的记录。
JZG 2001-06-20
  • 打赏
  • 举报
回复
关注一下吗

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧