select sum(总价) from 销货确认书二 where 编号 in
(select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>='2005-08-26' and 装运期限中<='2005-08-28')
这名话在sql server 查询器中能运行。
但是:
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD(str);
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in
(select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>='2005-08-26' and 装运期限中<='2005-08-28')')
adoquery1.Open;
不能通过,怎么改呢?
另外如果我想用参数的话,下面的又怎么处理呢?
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in (select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=:rq1 and 装运期限中<=:rq2)');
adoquery1.Parameters[0].Value:=datetostr(datetimepicker3.Date);
adoquery1.Parameters[0].Value:=datetostr(datetimepicker4.Date);
adoquery1.Open;
(select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>='2005-08-26' and 装运期限中<='2005-08-28')
这名话在sql server 查询器中能运行。
但是:
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD(str);
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in
(select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>='2005-08-26' and 装运期限中<='2005-08-28')')
adoquery1.Open;
不能通过,怎么改呢?
另外如果我想用参数的话,下面的又怎么处理呢?
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in (select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=:rq1 and 装运期限中<=:rq2)');
adoquery1.Parameters[0].Value:=datetostr(datetimepicker3.Date);
adoquery1.Parameters[0].Value:=datetostr(datetimepicker4.Date);
adoquery1.Open;
解决方案 »
- Delphi7 高手进!!!求算法!!!
- UniDAC出现"Net packets out of order"
- 高手们,如何在显示时实现行列转换
- Delphi7中TcpServer和TcpClient如何实现通信?
- .Dcu与.pas的转换
- 刚参加完CSDN的第六次技术论谈,感觉实在是有点…………… (内详)
- midas应用问题,请各位大虾指教!
- 控件使用问题
- 一个菜鸟问题:请问各位大虾,TActionlist是干什么的?是不是action只有edit,dataset,help等,能不能自己定义?谢谢大虾!
- 研究了1天,也不知道如何解决:FastReport转PDF乱码
- 我换了台机器,突然发现image中的图片不显示了?
- 着急做东西,帮帮忙...
(select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=''2005-08-26'' and 装运期限中<=''2005-08-28'')');
ADOQUERY1.SQL.ADD('Select Sum(a.总价) from 销货确认书二 a, 销货确认书一 b
where a.编号=b.编号 and b.发货与否=0 and b.装运期限中>='2005-08-26' and b.装运期限中<='2005-08-28')这样应该比你应in 速度快很多2.
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in (select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=:rq1 and 装运期限中<=:rq2)');
adoquery1.Parameters('rq1').Value:=FormatDateTime('yyyy-mm-dd', datetimepicker3.Date);
adoquery1.Parameters('rq2').Value:=FormatDateTime('yyyy-mm-dd', datetimepicker4.Date);
adoquery1.Open;
S:string;
begin
s:='select sum(总价) from 销货确认书二 where 编号 in ';
S:=S+'(select 编号 from 销货确认书一 where 发货与否=0 and';
S:=S+ '装运期限中>=''2005-08-26'' and 装运期限中<=''2005-08-28'')';
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD(S);
adoquery1.Open;
end;
參數:
adoquery1.close;
adoquery1.sql.clear;
ADOQUERY1.SQL.ADD('select sum(总价) from 销货确认书二 where 编号 in (select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=:rq1 and 装运期限中<=:rq2)');
adoquery1.Parameters[0].Value:=datetostr(datetimepicker3.Date);
adoquery1.Parameters[1].Value:=datetostr(datetimepicker4.Date);
adoquery1.Open;
ADOQUERY1.SQL.ADD('Select Sum(a.总价) from 销货确认书二 a, 销货确认书一 b
where a.编号=b.编号 and b.发货与否=0 and b.装运期限中>=''2005-08-26'' and b.装运期限中<=''2005-08-28'')
ADOQUERY1.SQL.text:='select sum(总价) from 销货确认书二 where 编号 in (select 编号 from 销货确认书一 where 发货与否=0 and 装运期限中>=:rq1 and 装运期限中<=:rq2)');
adoquery1.Parameters[0].Value:=datetostr(datetimepicker3.Date);
adoquery1.Parameters[1].Value:=datetostr(datetimepicker4.Date);
adoquery1.Open;