| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1096 人关注过本帖
标题:请教关于关联表无法更新的问题
只看楼主 加入收藏
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
结帖率:100%
收藏
 问题点数:0 回复次数:6 
请教关于关联表无法更新的问题
各位老师:
     现在我用以下语句更新关联表,他在WINDOWS 2003 +SQL 2005就可以,如果在windows 2000+windows sql 2000下提示:Microsoft OLE DB Provider for ODBC Drivers 错误 '8000ffff' 不能更新查询,因为 FROM 子句不是单一的简单表名。 请问如何处理,谢谢。


sql = "select a.工号,姓名,单位,a4  from 用户密码 a,业务发展表 b where a.工号=b.a3 "
             call openDB()
           rs.open sql,conn,3,3

              while not rs.eof
                  writeString = "<tr><td>" & rs("工号") & "</td><td>" & rs("姓名") & "</td><td>" & rs("单位") & "</td><td>" & Trim(rs("A4")) & "</td>"
                    Response.Write writeString
                      response.write "<td>"
                    if rs("单位")<>rs("A4") then
                    response.write "<font color=#FF0000 >"
                       response.write "不符"
                       response.write "</font>"
                       rs("A4")=rs("单位")
                     rs.update
                        end if
                  response.write "</td></tr>"
                rs.MoveNext
              wend
          %>
搜索更多相关主题的帖子: windows 姓名 老师 用户 
2008-09-28 09:15
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
收藏
得分:0 
不能编辑原贴了? ,只能加贴了(主要作用是较对两个表工号相同前提下单位是否相同,如果不同则更新为相同)

 updatesql="UPDATE 业务发展表 SET 业务发展表.a4 =(SELECT 用户密码.单位 FROM 用户密码 WHERE 业务发展表.a3=用户密码.工号)"
call opendb()
 rs.open,updatesql,conn,1,3
提示类型不匹配:a3,a4,密码,单位均为 varchar,

[[it] 本帖最后由 随 缘 于 2008-9-28 12:01 编辑 [/it]]
2008-09-28 09:21
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
收藏
得分:0 
我在服务器上查询器上用“updatesql="UPDATE 业务发展表 SET 业务发展表.a4 =(SELECT 用户密码.单位 FROM 用户密码 WHERE 业务发展表.a3=用户密码.工号)"可以正常处理,但为什么在客户端操作就出现类型不匹配?请各位帮帮,谢谢。

[[it] 本帖最后由 随 缘 于 2008-10-8 17:11 编辑 [/it]]
2008-09-28 12:20
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
收藏
得分:0 
不知是不是说的不够明白,怎么没人反映?
业务发展表上有每个人几个月的业务发展成绩,关联后关系是一对多的关系。各位如有好方法请出出手吧!!!谢谢。
2008-10-08 17:15
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 
更新的话应该只更新单独的表,不对关系试图更新吧

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2008-10-08 17:16
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 
WINDOWS 2003 +SQL 2005
直接建立一个视图就行了,对单独的表进行更新就行了。

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2008-10-08 17:17
随 缘
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:3
注 册:2006-6-13
收藏
得分:0 
[bo][un]gdk2006[/un] 在 2008-10-8 17:17 的发言:[/bo]

WINDOWS 2003 +SQL 2005
直接建立一个视图就行了,对单独的表进行更新就行了。

在WINDOWS 2003 +SQL 2005下用
rs("A4")=rs("单位")
 rs.update
可以直接更新
如果在windows 2000+windows sql 2000下提示:Microsoft OLE DB Provider for ODBC Drivers 错误 '8000ffff' 不能更新查询,因为 FROM 子句不是单一的简单表名。
用updatesql="UPDATE 业务发展表 SET 业务发展表.a4 =(SELECT 用户密码.单位 FROM 用户密码 WHERE 业务发展表.a3=用户密码.工号)"
call opendb()
rs.open,updatesql,conn,1,3
提示类型不匹配

[[it] 本帖最后由 随 缘 于 2008-10-8 20:21 编辑 [/it]]
2008-10-08 20:20
快速回复:请教关于关联表无法更新的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059590 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved