搭建论坛《搭建之星》论坛用户咨询 → 两个表做连接视图的字段更新问题


  共有2442人关注过本帖树形打印

主题:两个表做连接视图的字段更新问题

帅哥哟,离线,有人找我吗?
ch8115
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:学员 帖子:22 积分:139 威望:0 精华:0 注册:2006-1-17 19:02:21
两个表做连接视图的字段更新问题  发帖心情 Post By:2007-8-18 10:30:11

用ado查询控件的命令设置以下语句

select a.fcode ,a.zh,a.gh,b.fcode,b.yhzh from jf200707 a left join dwzh b on a.fcode=b.fcode

用ado命令控件执行

update jf200707 set a.zh=a.gh 更新成功

但执行
update jf200707 set a.zh=b.yhzh则显示 参数 yhzh 没有默认值

请高手赐教


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2007-8-18 10:54:27

你这是“左连接”,根据规则,这时 的 b.yhzh 的值 为空(null);估计原因出在此处。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2007-8-18 10:55:40

left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
inner join 只返回两张表连接列的匹配项

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2007-8-18 11:05:43

就是说第一张表中的 记录,如在二张表中,没有匹配记录,这时 的b.字段 的值为“空”。

你可以显示查看一下。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
ch8115
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:学员 帖子:22 积分:139 威望:0 精华:0 注册:2006-1-17 19:02:21
问题  发帖心情 Post By:2007-8-18 12:16:56

我用的两个表都一样,只不过表名不一样,附程序和库,在贵公司邮箱,请帮助看一下

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2007-8-18 15:27:21

我看了你的例子;你的操作思路有问题:

连接的表,只是临时存在,只有通过“ADO查询1”才能使用。

ADO命令1 实际上是 操作不到你的连接表的;操作的实际上是,数据库中的物理表(这个表中是没有你要的字段的)。

update dwzh set dwzh.yhzh=dwzh1.yhzh

update dwzh set dwzh.yhzh=abcdef

没有区别。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

两个表做连接视图的字段更新问题








签名