本人所写程序如下:
'SELECT DD.* FROM DD WHERE (dd.sjcs>=#'+datetimetostr(datetimepicker1.DateTime)+'#) and (dd.sjcs<#'+datetimetostr(datetimepicker3.DateTime)+'#);';DD是ACCESS数据库中的表 SJCS 是DD表中的日期/时间字段.
在DELPHI 中执行提示:不正常地定义参数对象.提供了不一致或不完整的信息请问我写的错误在那里?为什么不能执行?应如何更改?谢谢

解决方案 »

  1.   

    用参数
    where (ds.sjcs>=:date1) AND (...:date2)dataset.Parameters.ParamByName('date1').Value:=val1;
    dataset.Parameters.ParamByName('date2').Value:=val2;
      

  2.   

    Adoquery.ParamCheck:=False;
    时间日期类型中有冒号,ADOQuery把时间中的冒号错误地当做参数了
      

  3.   

    'SELECT DD.* FROM DD WHERE (dd.sjcs>=#'+datetimetostr(datetimepicker1.DateTime)+'#) and (dd.sjcs <#'+datetimetostr(datetimepicker3.DateTime)+'#);';  多打了个分号
      

  4.   

    一楼,二楼的都可以datetimetostr(datetimepicker1.DateTime) 有时间格式,如 '2008-04-07 14:15:00'
    DELPHI会把冒号当变量处理,多加下面这句就行了,让他跳过检查Adoquery.ParamCheck:=False;