大家帮忙看看,带时间参数是sql语句怎么写(比较急)(50分)

  • 主题发起人 主题发起人 峻祁连
  • 开始时间 开始时间

峻祁连

Unregistered / Unconfirmed
GUEST, unregistred user!
大家帮忙看看,带时间参数是sql语句怎么写


==========================
var
StartDate,EndDate :TDateTime;
--------
ShortDateFormat:='yyyy/MM/dd';
StartDate:=frmQueryDBSales.DateTimePickerStart.Date;
EndDate:=frmQueryDBSales.DateTimePickerEnd.Date;

frmQueryDBSales.adoQuerySales.Close;
frmQueryDBSales.adoQuerySales.SQL.Clear;
(1) frmQueryDBSales.adoQuerySales.SQL.Add('select khdm,sum(xspzs) as TotalIncome ');
(2) frmQueryDBSales.adoQuerySales.SQL.Add('from tjfx_khxstj where (spdm=');
(3) frmQueryDBSales.adoQuerySales.SQL.Add(sSelectedSpdm);
//sSelectedSpdm是选定的商品代码,测试中一直用固定的字串,如‘1120358’
(4) frmQueryDBSales.adoQuerySales.SQL.Add(') and (rq between '+DateToStr(StartDate));
(5) frmQueryDBSales.adoQuerySales.SQL.Add(' and ');
(6) frmQueryDBSales.adoQuerySales.SQL.Add(DateToStr(EndDate));
(7) frmQueryDBSales.adoQuerySales.SQL.Add(') group by khdm order by TotalIncome desc');

frmQueryDBSales.adoQuerySales.Open;
----------

我确信表中有符合条件的记录,因为如果我注释掉(4)(5)(6)句后,即不限时间查询结果正常,加上时间条件后并且确信起始时间指定的时间段内肯定有符合条件的数据,但是查询结果记录集中记录数总为0,为什么啊????

各位高手帮我分析分析,会是哪儿出了差错?
环境 DELPHI6+ADO+SQL SERVER 2000
 
不知道你寫的是甚麼,看起來麻煩!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
大家帮忙看看,带时间参数是sql语句怎么写


==========================
var
StartDate,EndDate :TDateTime;
--------
ShortDateFormat:='yyyy/MM/dd';
StartDate:=frmQueryDBSales.DateTimePickerStart.Date; //从窗体控件中读取时间
EndDate:=frmQueryDBSales.DateTimePickerEnd.Date;

frmQueryDBSales.adoQuerySales.Close;
      with frmQueryDBSales.adoQuerySales.SQL do
begin
Clear;
(1) Add('select khdm,sum(xspzs) as TotalIncome ');
(2) Add('from tjfx_khxstj where (spdm=');
(3) Add(sSelectedSpdm);
//sSelectedSpdm是选定的商品代码,测试中一直用固定的字串,如‘1120358’
(4) Add(') and (rq between '+DateToStr(StartDate));
(5) Add(' and ');
(6) Add(DateToStr(EndDate));
(7) Add(') group by khdm order by TotalIncome desc');
end ;

frmQueryDBSales.adoQuerySales.Open;
----------

我确信表中有符合条件的记录,因为如果我注释掉(4)(5)(6)句后,即不限时间查询结果正常,加上时间条件后并且确信起始时间指定的时间段内肯定有符合条件的数据,但是查询结果记录集中记录数总为0,为什么啊????

各位高手帮我分析分析,会是哪儿出了差错?
环境 DELPHI6+ADO+SQL SERVER 2000

这下清楚些了吗?
 
应把
DateTimePickerStart和DateTimePickerEnd控件的time属性清空
 
改(4),(6)
(4) frmQueryDBSales.adoQuerySales.SQL.Add(') and (rq between '+quotedstr(DateToStr(StartDate)));
(5) frmQueryDBSales.adoQuerySales.SQL.Add(' and ');
(6) frmQueryDBSales.adoQuerySales.SQL.Add(quotedstr(DateToStr(EndDate)));
 
zxb200,你说的没错!谢谢!加分了,请笑纳! :)
 
后退
顶部