平常都用MS SQL的
现在一个单机版的东东用AccessAccess中要时间是用#2003-12-6#
用#..#来表示时间现在程序中
SQL.add('select * from Sales where SalesTime>:begintime');
SQL.add('and SalesTime<:endtime');Parameters.ParamByName('begintime').Value:=
Parameters.ParamByName('endtime').Value:=
这两句的value怎么样写,我调试了n久,都出不来谢谢

解决方案 »

  1.   

    首先你的>:改为>=
    var str:string;
    str:=ADOQuery.FieldByName('日期').AsString;
    Parameters.ParamByName('begintime').Value:=str;//可能要类型转换
      

  2.   

    Parameters.ParamByName('begintime').Value:=#35+formatdate('yyyy-mm-dd',now)+#35;
    Parameters.ParamByName('endtime').Value:=#35+formatdate('yyyy-mm-dd',now)+#35;
    这两句的value怎么样写,我调试了n久,都出不来
      

  3.   

    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from t_ftb where d1>:d11 and d2<:d22');
    adoquery1.Parameters.ParamValues['d11']:='2001-2-1';
    adoquery1.Parameters.ParamValues['d22']:='2005-1-1';
    adoquery1.Prepared;
    adoquery1.Open;
      

  4.   

    还有访问ACCESS的日期型数据时要这样写#'+strDate+'#。如:
    strDate := formatDateTime('yyyy-mm-dd hh::nn::ss',now);
    'insert into record(日期) values(#'+strDate+'#)'
      

  5.   

    首先参数begintime;endtime
    必须先在Parameters.Params属性中
    设置类型(例如:String)
      那么调用时就要改为:
    Parameters.ParamByName('begintime').asString :=
    Parameters.ParamByName('endtime').asString:=
      

  6.   

    Parameters.ParamByName('begintime').Value:= EncodeDate(1999,2,28);
    Parameters.ParamByName('endtime').Value:=Date;
      

  7.   

    我有点不明白,你是要日期表示为2003-1-1还是#2003-1-1#
    如果是2003-1-1则我已经在access中验证了我写的程序没有问题呀