估计是日期格式的问题。Date是获得当前的日期,例如当前是01/3/16,
而SQL的查询格式为3-16-2001。需要转换的,好象设置BDE没用,自己写。

解决方案 »

  1.   

    如果SQL Server表的字段的确为datetime类型,那么
    Query1.ParamByName('date').AsDate = date;
    应该没有错。
    你可以使用SQL Server的Profiler(Trace工具),来查看SQL Server收到的语句是否正确。
      

  2.   

    你可以编写一个函数实现日期格式的转换.
    function Changedate(da:Tdate):string;
    begin
      ....
    end
    我有这个函数你要吗?
      

  3.   

    废话,这样当然查不到,date是什么?
    因为报错,肯定date不是日期型,而且datetostr(date)查不到,也因为date为空,所以查不到。
    你试试这样行吗?
    Query1.params[0].asdate:=strtodate(formatdatetime('yyyy-mm-dd',now));
    'yyyy-mm-dd'你也可以设置成你数据库的日期格式。  
      

  4.   

    在主窗口的创建事件中,加上下面几条语句,再试试:
      shortdateformat:='mm/dd/yyyy';
      DateSeparator:='/';
      twodigityearcenturywindow:=70;
      

  5.   

    修改系统的时间格式为:'yyyy-mm-dd'