一个简单的问题,关于数据库关联的问题

likesome 2002-06-02 04:16:11

做程序经常遇到以下的问题,一直没有能好好的解决,
即关于关联的问题

比如二个表:
表1,表2

表1:
客户编码,客户名称

表2:
客户编码,数量,金额


表1与表2是一对多的关系

问题:想实现以下功能
在一个dbgrid中显示,客户编码,客户名称,数量,金额
并能修改数量和金额字段

请注意,是要能修改数量和金额字段,不是仅查询,如果是查询一条语句就能搞定

如下:

select 表1.客户名称,表2.客户编码,表2.数量,表2.金额
FROM 表2 INNER JOIN
表1 ON 表2.客户编码 = 表1.客户编码

这样在表格中能显示,但是不能修改,请问这样才能在dbgrid中维护表2的字段,同时显示表1的客户名称





...全文
2 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdh1982 2002-06-14
Join!
回复
ivt 2002-06-14
没问题呀
楼上不是说了用DBCOMBO控件吗,提供选择,并让其更新表2数据库就是呀
注意就是光标移到数量金额时就显示相应的dbcombo哟或用textbox就是
或直接修改,不过就该设置其它列为lock属性=f
回复
imagex 2002-06-14
.edit
回复
qhzxcz 2002-06-14
to likesome (梦龙)
我以前也遇到一样的问题
应该用户可以在表中作修改吧,只是不能经修改提交到数据库中。
我是这样做的,扫描表格,用Sql语将用户的修改写入表2
回复
MartenChan 2002-06-14
嗯!
回复
Explorer001 2002-06-14
另外说明一点

如果用ADO及DATAGRID时,如数据源是对表是直接引用,就不会出错,而数据源是一个SQL多表查询引用时就会出错。这种现象很多人在问,我也较为认真的研究过,可能是一个解决不了的问题吧,解决不了就回避一下嘛,方法是很多的,不要为此花费你太多的宝贵时间了
回复
Explorer001 2002-06-14
如果是用DAO 及DBGrid 是可以,没有任可问题

如果是用ADO及DATAGrid,就会报错,

我建议你将显示与编辑分开处理,(不是再建多一个表单),使用MSHFlexGrid 进行显示与编辑,代码部分将用于修改数据库的连接与显示数据的连接分开来处理,这样做最终是效果比那样做还要好很多的,起码视觉效果要好很多的。
回复
likesome 2002-06-14
不行的,修改时,提示,缺少更新的列信息
回复
likesome 2002-06-14
回复
Steven 2002-06-03
可以用的,没出现问题啊,我用的是DBGrid 6.0(SP5)OLEDB
回复
ql_mf 2002-06-03
哎,我真是菜鸟,好多问题都回答不出来,只能到处帮人UP!
回复
likesome 2002-06-03
请问有办法吗
回复
likesome 2002-06-02
kunlunlang(昆仑狼)的回答让人很莫名
回复
xiaoxiao_net 2002-06-02
kunlunlang(昆仑狼) 先生说的数据库的控件绑定是什么意思,这些控件怎么用?如果新下载一个,又怎么样加载进去?
回复
czj2000 2002-06-02
值得关注
up
回复
kunlunlang 2002-06-02
用DBCombo DataList 控件绑定列表框,可选择地更新另一个数据源中一个相关表的一个字段。
回复
wishare 2002-06-02
谁知道呢。
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告