SQL语句结束的地方缺少‘;’,求解
编绎成功,点击按扭后弹出错误:sql语句的结束位置缺少';'
- Delphi(Pascal) code
procedure TfCosting.btnCalculateClick(Sender: TObject);var ss:string;begin showmessage(strsql); if Length(strsql)>0 Then ss:=' where t2.FNumber in ('+Copy(strsql,1,Length(strsql)-1)+') and t2.ffactory = ' + quotedstr(cmbfactory.Text) + ' and t2.fyear = ' + quotedstr(cmbyear.Text) + ' and t2.fperiod = ' + quotedstr(cmbperiod.Text) ; ss:= ss + ' GROUP BY t2.FYear,t2.FPeriod,t2.FFactory '; with datamd.ADOCalculateTemp do begin close; sql.Clear; sql.Text := 'update t_calculateTemp t1,t_overhead t2 set t1.FAmount = SUM(t2.FAmount) '; sql.Text := sql.Text + ss ; showmessage(sql.Text ); //执行完这句后出错,请问是怎么回事,Showmessage(sql.text)的结果如图 execsql; showmessage('成功'); end; //更新单位PCS 所摊费用 with datamd.ADOCalculateTemp do begin close; sql.Clear; sql.Text := 'update t_capacity t2,t_calculateTemp t1 set t1.FAmount_PER = t1.famount/t2.ftotal where t1.FYear=t2.fyear and t1.FPeriod=t2.fperiod and t1.FFactory=t2.FFactory '; showmessage(sql.Text ); execsql; showmessage('成功'); end;end;SQL语句:
运行完注释那一行后出错,sql语句的结束位置缺少';',请大家帮我看看是怎么回事
[解决办法]
友情帮顶
[解决办法]
update 不需要 group的
[解决办法]
SQL有问题,建议先在SQL查询分析器里执行一次语句,看能否通过,再写到程序里调试.
[解决办法]
这条语句
update field = sum(...)...group by ...
update sql没这语法
[解决办法]
下面这种写法是的
update t1,t2 set ...
改成
update t1 set ... from t2 where ...
用geoup by可以这样:
update t1 set f1=(select sum(f2) from t2 where .. group by ..)
[解决办法]
没仔细看,我的错,用域函数搞定,access的sql和sqlserver是不同的,以下为我的测试代码,执行成功,照着改吧
UPDATE table1 AS A
SET d = DFirst( "select Sum(d) as tt from table1", "table1")