a:=DatetoStr(DateTimePicker2.Date);
b:=DatetoStr(useDateTimeDTP.Datetime);
c:=DatetoStr(DateTimePicker1.datetime);
Flag:='0';
sql:='select orderno, cartype, carnum, useunit, journey, cartotalprice, roadtotalprice, totalprice, balance, operator, operatordate, EstimateKM, realKM, memo from orderform ';
if trim(cartypeEDT.Text)<>'' then
begin
sql:=sql+'where cartype='''+cartypeEdT.Text+''' and ';
Flag:='1';
end;
//省略部份代码
if Flag='1' then
sql:=sql+'operatordate = '''+a+''' and '
else
begin
sql:=sql+'where operatordate = '''+a+''' and ';
flag:='1';
end;
//省略部份代码
if trim(operatorEDT.Text)='' then
begin
if flag='1' then
sql:=Copy(sql,1,Length(sql)-4)
end;
mainform.ADOQuery1.Close;
mainForm.ADOQuery1.SQL.Clear;
mainForm.ADOQuery1.SQL.Add(sql);
mainform.ADOQuery1.Open;问题 在两部份省略代码之间,因为operatordate在数据库中是日期类型,格式是yyyy-MM-dd HH:mm:ss
因为如果要用户输入时间分钟的话,会很麻烦 所以a:=DatetoStr(DateTimePicker2.Date); 我想省略operatordate的时、分,该如何做啊?
b:=DatetoStr(useDateTimeDTP.Datetime);
c:=DatetoStr(DateTimePicker1.datetime);
Flag:='0';
sql:='select orderno, cartype, carnum, useunit, journey, cartotalprice, roadtotalprice, totalprice, balance, operator, operatordate, EstimateKM, realKM, memo from orderform ';
if trim(cartypeEDT.Text)<>'' then
begin
sql:=sql+'where cartype='''+cartypeEdT.Text+''' and ';
Flag:='1';
end;
//省略部份代码
if Flag='1' then
sql:=sql+'operatordate = '''+a+''' and '
else
begin
sql:=sql+'where operatordate = '''+a+''' and ';
flag:='1';
end;
//省略部份代码
if trim(operatorEDT.Text)='' then
begin
if flag='1' then
sql:=Copy(sql,1,Length(sql)-4)
end;
mainform.ADOQuery1.Close;
mainForm.ADOQuery1.SQL.Clear;
mainForm.ADOQuery1.SQL.Add(sql);
mainform.ADOQuery1.Open;问题 在两部份省略代码之间,因为operatordate在数据库中是日期类型,格式是yyyy-MM-dd HH:mm:ss
因为如果要用户输入时间分钟的话,会很麻烦 所以a:=DatetoStr(DateTimePicker2.Date); 我想省略operatordate的时、分,该如何做啊?
a:=DatetoStr(DateTimePicker2.Date);
应该已经去掉了时、分的
或者你不放心,可以试试:
formatdatetime('yyyy-mm-dd ',DateTimePicker2.Date)
sql:=sql+'where CONVERT(char(10),operatordate, 20) = '''+a+'''
把数据库中的日期精确到天就可以了
我想 drift1981(一包香烟,一把吉他,浪迹天涯!) 的方法应该可行。。我试试。。
DateTimePicker2.Date的格式是Yyyy-mm-dd
a=formatdatetime('yyyy.mm.dd ',DateTimePicker2.Date)sql:=sql+'where CONVERT(char(10),operatordate, 102) = '''+a+'''这个问题其实查一下SQL SERVER 2000 帮助就应该可以解决吧, 全中文的