ADOQuery1.Close;
ADOQuery1.SQL.Text := Format('SELECT * FROM AA WHERE TIME = ''%s''', 
  [FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)]);
ADOQuery1.Open;

解决方案 »

  1.   

    ADOQUERY1.SQL.ADD( 'SELECT * FROM AA WHERE TIME ='''+DATETTOSTR(...)+'''');
    不过我觉得应该这样
    ADOQUERY1.SQL.ADD( 'SELECT * FROM AA WHERE TIME between '''+DATETTOSTR(picker1.date)+ ' 00:00:00'' and '''+ DATETTOSTR(picker1.date) + ' 23:59:59''');
      

  2.   

    另外建议你不要使用如“Time”、“Name”、“Date”、“Size”...什么的做字段名,这样太容易和系统冲突
      

  3.   

    你的Datetime 是只到日期,还是到分
    如果到日期你可这样
    staday:string;
    staday:=datetostr(DateTimepicker1.date)
    SQL 语句用
    AA.DTTIME=to_date('+chr(39)+staday+chr(39)+',''yyyy-mm-dd ')
    如果到分:
    用两个datetimepicker
    staday:=datetostr(DateTimepicker1.date)+' '+timetostr(dateTimePicker2.time);
    SQL 语句用
    AA.DTTIME=to_date('+chr(39)+staday+chr(39)+',''yyyy-mm-dd HH24:MI:SS'')
      

  4.   

    sql server中的日期个应当是{ts 'yyyy-mm-dd hh-mm-ss'}