主要看使用什么数据库有关如在BDE的Local SQL下,有两种格式,
SELECT *
FROM Order A
WHERE A.'Date' >= '30.12.2001'

SELECT *
FROM Order A
WHERE A.'Date' >= '12/30/2001'在ADO+ACCESS下,则可写成WHERE Date >= #2001-30-12#或WHERE Date >= DateValue('12/30/2001')你可以查看相应数据库的SQL日期格式方面的帮助

解决方案 »

  1.   

    delphi中直接用字符串可以表示日期
    最标准的日期用ss=formatdatetime('yyyy-mm-dd',date)类似形式获得然后把条件用ss代替
      

  2.   

    同意楼上的说法!!ADO下的确实是那样的!!但是BDE下的用WHERE Date >= DateValue('12/30/2001')也可以呀!!
      

  3.   

    你可以这样:
    query1.clear;
    query1.sql.add('select * from tablename where datefield>=:date1');
    query1.parambyname('date1').asdatetime:=date;
    query1.open;
      

  4.   

    Delphi中日期类型于Double类型的转换最为灵活,所以数据库中不要存日期型,来存Double,再由程序转换更为方便.
    日期型的字符串的表示于系统的设置有关,所以不利于程序的移植.ps:20分
      

  5.   

    谢谢各位的指点,但insect还没有完全做好,例如下面的程序,运行时提示
    compatibility not supported.delphi5程序如下,我不知道那里出的问题。  edit1.text:='1998-10-15';
      Query1.Clear;
      Query1.SQL.Add ('Select *');
      Query1.SQL.Add ('FROM abc.db');
      Query1.SQL.Add ('WHERE 调查日期=Datevalue('+'"'+edit1.text+'"'+')');
      Query1.Prepare;
      Query1.Open;
      

  6.   

    我想:把Datevalue('+'"'+edit1.text+'"'+')')语句中的
      双引号用两个单引号代替试一下。