有关表关联的简单问题求教

lifanxi 2003-04-01 10:09:43
比如有两张表,Customers和Orders,当我查看Orders表时需根据Orders中的CustomerID到Customers表中查出对应的CustomerName。
这个问题似乎可以用Lookup字段,不过我觉得有点麻烦,想了另外一个办法就是在DataSet的SQL中直接把对应数据选出来。
SELECT Orders.*, Customers.CustomerName AS CustomerName
FROM Orders LEFT OUTER JOIN(或INNER JOIN)
Customers ON Orders.CustomerID = Customers.CustomerID
这样做以后确实显示和更新都没有问题,正得意之时,却发现删除记录时出问题了,删除Orders记录时会对应把Customers中的顾客信息也删掉!晕~~~~~~~~
向各位请教?对于这样一种两表或更多表关联的情况,大伙儿一般是如何做的?怎样做才能在可靠的基础上在保证性能的前提下尽可能的方便呢?谢谢!
...全文
29 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lifanxi 2003-04-05
搞定了!谢谢各位,是用ADO的问题。
只要把DataSetProvider的ResolveToDataSet设为False就好了。
或者设置ADO的Unique Table动态属性也行。
  • 打赏
  • 举报
回复
xt_pan 2003-04-02
用BDE就不会出现这个问题
  • 打赏
  • 举报
回复
shuaigc 2003-04-02
种两表或更多表关联的情况,就用Lookup。
  • 打赏
  • 举报
回复
lifanxi 2003-04-02
谢谢您的回复,我也希望是如此,可惜现在就是遇到了上面说的这个问题:删除时把关联表中数据也删了。
还请教这个问题该如何解决?
  • 打赏
  • 举报
回复
duduwolf 2003-04-02
建议你用SQL语句来实现,这样不管是查询还是删除都很方便的!
  • 打赏
  • 举报
回复
simonzone 2003-04-02
那就只要级联更新,不要级联删除.
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库相关
加入

2470

社区成员

Delphi 数据库相关
社区管理员
  • 数据库相关社区
申请成为版主
帖子事件
创建了帖子
2003-04-01 10:09
社区公告
暂无公告