类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
以下这句SQL写到ADOQuery如何添加
SELECT xm , bh , htje, ysfk , wsfk, xsrq , dh , bz FROM owner where zt = 未付清
UNION
SELECT 合计 AS xm, 1000 AS bh, SUM(htje) , SUM(ysfk) , SUM(wsfk) , as xsrq, as dh, as bz FROM owner where zt = 未付清
order by bh
这样错在哪里?
Datamodule2.ADOQueryReport.sql.clear;
Datamodule2.ADOQueryReport.sql.add(SELECT xm, bh, htje, ysfk, wsfk, xsrq, dh, bz FROM owner where zt =:val0 UNION SELECT :val1 AS xm, :val2 AS bh, SUM(htje), SUM(ysfk), SUM(wsfk), :val3 as xsrq, :val4 as dh, :val5 as bz FROM owner where zt =:val6 order by bh);
Datamodule2.ADOqueryReport.Parameters[0].Value := 未付清;
Datamodule2.ADOqueryReport.Parameters[1].Value := 合计;
Datamodule2.ADOqueryReport.Parameters[2].Value := ;
Datamodule2.ADOqueryReport.Parameters[3].Value := ;
Datamodule2.ADOqueryReport.Parameters[4].Value := ;
Datamodule2.ADOqueryReport.Parameters[5].Value := ;
Datamodule2.ADOqueryReport.Parameters[6].Value := 未付清;
Datamodule2.ADOQueryReport.Open;
网友回答:
改为下面的试一试:
Datamodule2.ADOQueryReport.sql.clear;
Datamodule2.ADOQueryReport.sql.add(SELECT xm, bh, htje, ysfk, wsfk, xsrq, dh, bz FROM owner where zt =:val0 UNION SELECT :val1 AS xm, :val2 AS bh, SUM(htje), SUM(ysfk), SUM(wsfk), :val3 as xsrq, :val4 as dh, :val5 as bz FROM owner where zt =:val6 order by bh);
Datamodule2.ADOqueryReport.Parameters[0].Value := 未付清;
Datamodule2.ADOqueryReport.Parameters[1].Value := 合计;
Datamodule2.ADOqueryReport.Parameters[2].Value := ;
Datamodule2.ADOqueryReport.Parameters[3].Value := ;
Datamodule2.ADOqueryReport.Parameters[4].Value := ;
Datamodule2.ADOqueryReport.Parameters[5].Value := ;
Datamodule2.ADOqueryReport.Parameters[6].Value := 未付清;
Datamodule2.ADOQueryReport.Open;
你可以看看在SQL事件探查器看看实际执行的SQL语句是怎样的,再把它放到查询分析器上看看哪里的错
Datamodule2.ADOQueryReport.sql.clear;
Datamodule2.ADOQueryReport.sql.add(SELECT xm, bh, htje, ysfk, wsfk, xsrq, dh, bz FROM owner where zt =:val0 UNION SELECT :val1 AS xm, :val2 AS bh, SUM(htje), SUM(ysfk), SUM(wsfk), :val3 as xsrq, :val4 as dh, :val5 as bz FROM owner where zt =:val6 order by bh);
Datamodule2.ADOqueryReport.Parameters[0].Value := 未付清;
Datamodule2.ADOqueryReport.Parameters[1].Value := 合计;
Datamodule2.ADOqueryReport.Parameters[2].Value := ;
Datamodule2.ADOqueryReport.Parameters[3].Value := ;
Datamodule2.ADOqueryReport.Parameters[4].Value := ;
Datamodule2.ADOqueryReport.Parameters[5].Value := ;
Datamodule2.ADOqueryReport.Parameters[6].Value := 未付清;
Datamodule2.ADOQueryReport.Open;
把你的 Datamodule2.ADOqueryReport.Parameters[0].Value := 未付清; parameters中的编号改写成变量名看看效果如何 这样写正常来说是没问题的 考虑看你的SQL语句本身是否有问题
把参数去掉,全部换成SQL语句试试
Datamodule2.ADOQueryReport.sql.add(SELECT xm, bh, htje, ysfk, wsfk, xsrq, dh, bz FROM owner where zt =未付清 UNION SELECT 合计 AS xm, AS bh, SUM(htje) as htje, SUM(ysfk) as ysfk, SUM(wsfk) as wsfk, as xsrq, as dh, as bz FROM owner where zt =未付清 order by bh);
NULL as xsrq