sql.add('select  * from test where datediff(day,time,Now())=0' ) ;
这个报错  参数day没有默认值   
那个day不是sql里面的 datediff()函数里面的参数吗?崩溃,经常碰到这样的事情。

解决方案 »

  1.   

    应该不是day的错,而是now()的错sql函数里好像没有now吧改成sql.add('select * from test where datediff(day,time,GetDate())=0' ) ;
    试试
      

  2.   

    time返回的是hh:mm:ss,  day返回的是日期吧。
    应该两者的类型不一致
      

  3.   

    DATEDIFF函数在Access和MSSQL中的使用区别
      ACCESS中用法:DATEDIFF('day', time, Now()) 
      MSSQL中用法:DATEDIFF(day, time, getdate()) 
      

  4.   

    DATEDIFF在access中参数要有引号,sqlserver中不用,因为它有day函数
      

  5.   

    是ACCESS ,sql.add('select  * from test where datediff('day',time,Now())=0' ) ;但是加了引号就报下面这个错了啊
    [错误] Unit1.pas(35): ')' expected but identifier 'day' found无语啊....
      

  6.   

    我才无语,你也不要照抄呀,别人只是给你SQL语句而已sql.add('select * from test where datediff(''day'',time,Now())=0' )
      

  7.   

    sql.add('select * from test where datediff(''day'',time,Now())=0' )
     
    这个没问题了,谢谢啊