拜托帮我看下,为什么总是报错。时间sj格式是yy-mm-dd hh:mm:ss。
说是检测到错误类EDatabaseError,错误信息:query1:parambyname 'sj1' not find。sql.Add('select sj ,round(t,2) as yw1 from test where cjsj between :sj1 and :sj2 order by Cast(sj as datatime)');
parambyname('sj1').AsString:=datetostr(dtpdate1.Date)+' '+timetostr(dtptime1.Time);
Parambyname('sj2').AsString:=datetostr(dtpdate2.Date)+' '+timetostr(dtptime2.Time);拜托了,谢谢!

解决方案 »

  1.   


    ADOQuery1.ParamCheck := False;试试
      

  2.   

    我不会用ado控件啊,要今天就出来的。现在就是时间查询不对。为什么找不到sj1?
      

  3.   


    parambyname('sj1').AsString:=datetostr(dtpdate1.Date)+' '+timetostr(dtptime1.Time);
    Parambyname('sj2').AsString:=datetostr(dtpdate2.Date)+' '+timetostr(dtptime2.Time); 

    此两句变量为字符串你SQL语句里面为时间  这怎么能行呢? 先把上面的都转化为datetime格式