请问delphi中的sql语句如何用date形?
我用过 query1.sql.add('select * from tdate where tday='+datetostr(datetimepacker1.date)); query1.sql.add('select * from tdate where tday="'+datetostr(datetimepacker1.date+'"'));
 query1.sql.add('select * from tdate where tday='+datetimepacker1.date);这几种方法都不行,请问上面的代码如何写?

解决方案 »

  1.   

    设计数据库时,字段类型设为varchar,
    然后
    query1.sql.add('select * from tdate where tday='+''''+datetimetostr(datetimepacker1.date)+'''');
      

  2.   

    query1.sql.add('select * from tdate where tday=#'+datetostr(datetimepacker1.date)+'#');
      

  3.   

    query1.sql.add('select * from tdate where tday=:date');
    Query1.ParamByName('a').AsDate:=datetimepicker1.date;
      

  4.   

    是这样的:
    query1.sql.add('select * from tdate where tday=:date');
    Query1.ParamByName('date').AsDate:=datetimepicker1.date;
      

  5.   

    两种方法:
    1
    query1.sql.add('select * from tdate where tday=#'+datetostr(yourDateV)+'#');
    2
    query1.sql.add('select * from tdate where tday=:date');
    Query1.ParamByName('date').AsDate:=yourDate;
      

  6.   

    补充,access 要加#,sqlserver不需要了
      

  7.   

    用#号的在Access中有效。还是用参数吧,楼上的说得很清楚了
      

  8.   

    query1.sql.add('select * from tdate where tday=:date');
    Query1.ParamByName('date').AsDate:=datetimepicker1.date;
    或者
    //access
    query1.sql.add('select * from tdate where tday=#'+datetostr(datetimepacker1.date)+'#');
    //sql
    query1.sql.add('select * from tdate where tday='''+datetostr(datetimepacker1.date)+'''');
    // sql de
    query1.sql.add('select * from tdate where tday='+datetostr(datetimepacker1.date)+');