标题:update语句出错!
只看楼主
zmp
Rank: 1
等 级:新手上路
帖 子:125
专家分:0
注 册:2007-6-30
 问题点数:0 回复次数:4 
update语句出错!

数据库data中有表A\B\C表,A表为商品入库表(a有字段:name_gh,qty_gh),B表为商品的出库表(b有字段:name_rk,qty_rk),c表为商品库存表(C表有字段:name,qty_gh,qty_rk,qty_cr)
现在我想将A表的name_gh分类,将qty_gh汇总起的总和,更新到C表的qty_gh,条件是A表的name_gh等于C表的name(注:a表的name_gh是列表菜单的,是调用C表的name作为列表菜单的内容的)
现在编写的代码如下:

<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("data\data.mdb")
conn.open connstr
dim strsql,rs
set rs=server.CreateObject("adodb.recordset")
strsql="select name_gh,sum(qty_gh) as qty from a group by name_gh"
rs.open strsql,connstr,1,3

update c
set qty_gh = qty
from c,a
where a.name_gh = c.name
%>

执行后出现如下错误:
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: 'update'
/test3.asp, 第 24 行
搜索更多相关主题的帖子: 语句 update 
2007-07-04 11:07
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 
以下是引用zmp在2007-7-4 11:07:19的发言:

数据库data中有表A\B\C表,A表为商品入库表(a有字段:name_gh,qty_gh),B表为商品的出库表(b有字段:name_rk,qty_rk),c表为商品库存表(C表有字段:name,qty_gh,qty_rk,qty_cr)
现在我想将A表的name_gh分类,将qty_gh汇总起的总和,更新到C表的qty_gh,条件是A表的name_gh等于C表的name(注:a表的name_gh是列表菜单的,是调用C表的name作为列表菜单的内容的)
现在编写的代码如下:

<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("data\data.mdb")
conn.open connstr
dim strsql,rs
set rs=server.CreateObject("adodb.recordset")
strsql="select name_gh,sum(qty_gh) as qty from a group by name_gh"
rs.open strsql,connstr,1,3

rs("字段")=更换的变量

……

rs.update

%>

执行后出现如下错误:
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: 'update'
/test3.asp, 第 24 行

看看这个行不!!!!


程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2007-07-04 11:11
zmp
Rank: 1
等 级:新手上路
帖 子:125
专家分:0
注 册:2007-6-30
得分:0 
回复:(gdk2006)以下是引用zmp在2007-7-4 11:07:19的...


我是初学者麻烦再指点一下还是不行:

<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("data\data.mdb")
conn.open connstr
dim strsql,rs
set rs=server.CreateObject("adodb.recordset")
strsql="select name_gh,sum(qty_gh) as qty from a group by name_gh"
rs.open strsql,connstr,1,3

rs("c.qty_gh")=qty
rs.update
%>

错误类型:
ADODB.Recordset (0x800A0CC1)
在对应所需名称或序数的集合中,未找到项目。
/test3.asp, 第 24 行
我的意思:
我是要将strsql 查询出A表的QTY 更新到C表的QTY_GH中去,条件是A表的name_gh与C表的name相等
2007-07-04 11:55
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 
以下是引用zmp在2007-7-4 11:55:55的发言:


我是初学者麻烦再指点一下还是不行:

<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("data\data.mdb")
conn.open connstr
dim strsql,rs
set rs=server.CreateObject("adodb.recordset")
strsql="select name_gh,sum(qty_gh) as qty from a group by name_gh"

这句代码只是列出name_gh,sum(qty_gh)两个字段的数据!

rs.open strsql,connstr,1,3

rs("c.qty_gh")=qty
rs.update
%>

错误类型:
ADODB.Recordset (0x800A0CC1)
在对应所需名称或序数的集合中,未找到项目。

这个说明你的数据库中没有c.qty_gh这一项目。

/test3.asp, 第 24 行
我的意思:
我是要将strsql 查询出A表的QTY 更新到C表的QTY_GH中去,条件是A表的name_gh与C表的name相等

你可以用一句连表查询,然后在去更新!


程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2007-07-04 12:11
zmp
Rank: 1
等 级:新手上路
帖 子:125
专家分:0
注 册:2007-6-30
得分:0 
回复:(gdk2006)以下是引用zmp在2007-7-4 11:55:55的...
那要怎样才可以呢?代码要如何改呢?
2007-07-04 13:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-152596-1-1.html




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

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