SQL数据下的一段错误代码 |
答題得分者是:Stallion
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
ADOQuery3.Close; ADOQuery3.SQL.Clear; ADOQuery3.SQL.Add(' update tb_yp set '); ADOQuery3.SQL.Add(' tb_yp.库存数量=tb_yp.库存数量 tb_zfsf.数量 '); ADOQuery3.SQL.Add(' from (select 项目id,sum(数量)as 数量 from tb_zfsf group by 项目id) tb_zfsf '); ADOQuery3.SQL.Add(' where tb_zfsf.票据号=:str1'); ADOQuery3.SQL.Add(' and tb_zfsf.项目id=tb_yp.id'); ADOQuery3.Parameters.ParamValues['str1'] := str1; ADOQuery3.ExecSQL; ADOQuery3.ExecSQL;错误提示,列名票据号无效。 我想要的功能是:从tb_zfsf表中票据号等于XX数字,并且项目ID名称和tb_yp中的ID名称一样的,那么就把它的数量一栏加到tb_yp的数量中。 也就是说票据作废时,把该票据上所收的项目的数量还退回到库存中。 注:我用的数据库为SQL。谢谢!
------
我的编程起步于ktop,我将永远支持ktop |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
引言: ADOQuery3.SQL.Add(' from (select 项目id,sum(数量)as 数量,票据号 from tb_zfsf group by 项目id) tb_zfsf '); 這個欄位沒選到,後面怎麼比較? ---------------------------------------------- We will either find a way, or make one. -Hannibal -。当改成这一行时,代码还是不可以正常运行,提示列名票据号,既不包含在聚合函数,也不包含在GROUP BY子句中。我就试着将票据号加到group后面,代码能够正常运行,但执行时计算结果有错,比如我作废该品种的数量只有2盒,但退回库中就退出4盒了,所有的数量都被翻了倍。
------
我的编程起步于ktop,我将永远支持ktop |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |