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

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中的顾客信息也删掉!晕~~~~~~~~
向各位请教?对于这样一种两表或更多表关联的情况,大伙儿一般是如何做的?怎样做才能在可靠的基础上在保证性能的前提下尽可能的方便呢?谢谢!
...全文
67 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
那就只要级联更新,不要级联删除.

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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