SqlStr := 'Select * From sfjeqkb Where '+''''+FormatDateTime('yyyy-mm-dd',beginDateTimePicker.dateTime)+''''+' < '+DateTimeToStr(Date)+' And '+DateTimeToStr(Date)+' < '+''''+FormatDateTime('yyyy-mm-dd',lastDateTimePicker.DateTime)+''''+'';
  StatADOQuery.Close;
  StatADOQuery.SQL.Clear;
  StatADOQuery.SQL.Add(SqlStr);
  StatADOQuery.Open;
  Je:= 0;
  Showmessage(inttostr(StatADOQuery.RecordCount));为什么编译没有错误,但是搜索不到数据阿
郁闷!
哪位大哥大姐能告诉我为什么啊

解决方案 »

  1.   

    明显错误
    数据库字段是Date?
    SqlStr := format('Select * From sfjeqkb Where date between ''%s'' and ''%s''',[datetostr(beginDateTimePicker.dateTime),datetostr(lastDateTimePicker.dateTime)]);
      

  2.   

    改为
    SqlStr := format('Select * From sfjeqkb Where date between ''%s'' and ''%s''',[datetimetostr(beginDateTimePicker.dateTime),datetimetostr(lastDateTimePicker.dateTime)]);
    问一下
    数据库
    date 是 datetime类型的马?
      

  3.   

    你用的是
    Access数据库
    要这样写
    select * from table where data>=#2003-02-01# and data<=#2003-02-11#
    or
    select * from table where Cdate(Date)>=#2003-02-01# and Cdate(Date)<=#2003-02-11#
      

  4.   

    看看是什么数据库,access和sql server都有自己的格式,date不能用于字段名!
      

  5.   

    还美好??
    sql.Text :='select * from sfjeqkb  where format(date,''yyyy-M-d'') >= '+datetostr(DateTimePicker1.DateTime)+' and format(date,''yyyy-M-d'') <= '+ QuotedStr(datetostr(DateTimePicker2.DateTime));
      

  6.   

    看看你Access中日期格式
    yyyy-mm-dd
    还是
    yy-m-d等