一个UPDATA更新语句问题,新手急问,大家来帮忙,来者有分!大家一定来看看呀!!1

herozhong 2004-07-16 10:04:49
sSqlTmp="update hbdss.dssf_sale_powe set ";
sSqlTmp=sSqlTmp+"sale4_id=1001 where sale5_id=10001 or sale5_id=10002 or sale5_id=10003 or sale5_id=10004,";
sSqlTmp=sSqlTmp+"sale4_id=1002 where sale5_id=10005 or sale5_id=10006 or sale5_id=10007 or sale5_id=10008,";
sSqlTmp=sSqlTmp+"sale4_id=1003 where sale5_id=10009,";
sSqlTmp=sSqlTmp+"sale4_id=1004 where sale5_id=10010,";
sSqlTmp=sSqlTmp+"sale4_id=1005 where sale5_id=10011,";
sSqlTmp=sSqlTmp+"sale4_id=1006 where sale5_id=10012,";
sSqlTmp=sSqlTmp+"sale4_id=1007 where sale5_id=10013,";
sSqlTmp=sSqlTmp+"sale4_id=1008 where sale5_id=10014,";
sSqlTmp=sSqlTmp+"sale4_id=1009 where sale5_id=10015,";
sSqlTmp=sSqlTmp+"sale4_id=1010 where sale5_id=10016,";
sSqlTmp=sSqlTmp+"sale4_id=1011 where sale5_id=10017,";
sSqlTmp=sSqlTmp+"sale4_id=1012 where sale5_id=10018,";
sSqlTmp=sSqlTmp+"sale4_id=1013 where sale5_id=10019,";
sSqlTmp=sSqlTmp+"sale4_id=1014 where sale5_id=10020,";
sSqlTmp=sSqlTmp+"sale4_id=1015 where sale5_id=10021,";
sSqlTmp=sSqlTmp+"sale4_id=1016 where sale5_id=10022,";
sSqlTmp=sSqlTmp+"sale4_id=1017 where sale5_id=10023,";
sSqlTmp=sSqlTmp+"sale4_id=1018 where sale5_id=10024,";
sSqlTmp=sSqlTmp+"sale4_id=1019 where sale5_id=10025,";
sSqlTmp=sSqlTmp+"sale4_id=1020 where sale5_id=10026,";
sSqlTmp=sSqlTmp+"sale4_id=1021 where sale5_id=10027,";
sSqlTmp=sSqlTmp+"sale4_id=1022 where sale5_id=10028,";
sSqlTmp=sSqlTmp+"sale4_id=1023 where sale5_id=10029,";
sSqlTmp=sSqlTmp+"sale4_id=1024 where sale5_id=10030,";
sSqlTmp=sSqlTmp+"sale4_id=1025 where sale5_id=10031,";
sSqlTmp=sSqlTmp+"sale4_id=1026 where sale5_id=10032,";
sSqlTmp=sSqlTmp+"sale4_id=1027 where sale5_id=10033,";
sSqlTmp=sSqlTmp+"sale4_id=1028 where sale5_id=10034,";
sSqlTmp=sSqlTmp+"sale4_id=1029 where sale5_id=10035,";
sSqlTmp=sSqlTmp+"sale4_id=1030 where sale5_id=10036,";
sSqlTmp=sSqlTmp+"sale4_id=1031 where sale5_id=10037,";
sSqlTmp=sSqlTmp+"sale4_id=1032 where sale5_id=10038,";
sSqlTmp=sSqlTmp+"sale4_id=1033 where sale5_id=10039,";
sSqlTmp=sSqlTmp+"sale4_id=1034 where sale5_id=10040";
DataM_CltData->Cds_DataPipe->Close();
DataM_CltData->Cds_DataPipe->CommandText =sSqlTmp;
DataM_CltData->Cds_DataPipe->Execute();

运行时报如下错误:
General Sql error: invalid user.table.column,table.column,or column specification
我的用户名和表名,字段名都没有错.
下面这段代码,是我执行通过的.
sSqlTmp="update hbdss.DSSF_SALE_POWE A set ";
sSqlTmp=sSqlTmp+"A.CUME_POWE=(select sum(nvl(B.POWE,0)) from hbdss.DSSF_SALE_POWE B where A.UNIT3_id=B.UNIT3_id and A.SALE5_id =B.SALE5_id and A.SOUR_id=B.SOUR_id and A.day_id=b.day_id),";
sSqlTmp=sSqlTmp+"A.CUME_MONE=(select sum(nvl(C.MONE,0)) from hbdss.DSSF_SALE_POWE C where A.UNIT3_id=C.UNIT3_id and A.SALE5_id =C.SALE5_id and A.SOUR_id=C.SOUR_id and A.day_id=b.day_id),";
sSqlTmp=sSqlTmp+" where A.UNIT3_id =hbdss.dssd_unit3.unit3_id and hbdss.dssd_unit3.mis_unit_code='"+mDataPipeUnit+"' and A.TIME_YEAR='"+mDataPipeYear+"'||'"+mDataPipeMonth+"'";
DataM_CltData->Cds_DataPipe->Close();
DataM_CltData->Cds_DataPipe->CommandText =sSqlTmp;
DataM_CltData->Cds_DataPipe->Execute();
百思不得其解,大家帮忙!!!???
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
herozhong 2004-07-17
  • 打赏
  • 举报
回复
sSqlTmp="update hbdss.dssf_sale_powe set ";
在这一句出现的异常,显示不了SQL呀
tanlim 2004-07-17
  • 打赏
  • 举报
回复
能不能找到算法,用表达式的方式表达一下你那序列性的WHERE语句
我觉得对于没有定义的别名引用,是不是应该加上引号
constantine 2004-07-17
  • 打赏
  • 举报
回复
好乱的SQL语句啊,你把你这一大串放到控件里的区检查一下有没有错误先了,我认为你的SQL语句写错了,我也见过这个错误,哈哈
CACACACACA 2004-07-17
  • 打赏
  • 举报
回复
看的好晕呀。
不过,一个SQL语句里只能有一个WHERE。
如果分别执行多个SQL语句。在CLOSE后。
最好有一句ADODataset->CommandText = "";
zihan 2004-07-16
  • 打赏
  • 举报
回复
你在Execute之前把sSqlTmp显示出来看看,好象问题不少哦。

就是在这里加一句
ShowMessage(sSqlTmp);
DataM_CltData->Cds_DataPipe->Close();
你自己检查那个sql吧,那么多where,并列之间不用and用逗号。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧