已有一个Access数据库表temp,其中已有记录,且‘date’字段(设为文本型)的值为‘2003-8-15’,现有一string变量DateStr,存放今天的日期,然后我想用
TadoQuery查找所有‘日期’为DateStr的记录,如下:
TadoQuery1.close;
TadoQuery1.clear;
TadoQuery1.SQL.Add('select * from temp where date='+quotedstr(DateStr));
TadoQuery1.open;
可是一查看并没有任何记录被提取,怎么回事啊???
若直接改成     
...
TadoQuery1.SQL.Add('select * from temp where date='+quotedstr('2003-8-15'));
...
又可以提取出记录,奇怪???
另好像TadoQuery的sql没又象TQuery那样的参数功能啊?

解决方案 »

  1.   

    DateStr
    把这个变量设为日期型就好了啊
      

  2.   

    TadoQuery1.SQL.Add('select * from temp where date='''+quotedstr(DateStr))+'''');
      

  3.   

    TadoQuery的sql没有TQuery那样的参数功能,真不方便啊。在TQuery中只要
    TQuery1.Sql.Add('select * from temp where date:=Pdate');
    Tquery.Param.Fieldbyname('Pdate').asstring:=Nowday;
    就可以了,可TadoQuery怎么办呢???
      

  4.   

    to pengdali(大力 V2.0) 
    不行啊????
      

  5.   

    谁说TadoQuery的sql没有参数功能?当心被ADO的拥泵们bs!  :PADOQuery1.Close;
    ADOQuery1.SQL.Text:='select * from tabConsign where Date=:PDate'
    ADOQuery1.Parameters.ParamValues['PDate']:=DateStr;
    ADOQuery1.Open;PS:Access保留字太多,直接用Date做字段名可能有问题,建议换名(例MyDate)
      

  6.   

    已有一个Access数据库表temp,其中已有记录,且‘date’字段(设为文本型)的值为‘2003-8-16’,现有一string变量DateStr,存放今天的日期,然后我想用
    TadoQuery查找所有‘日期’为DateStr的记录,如下:
    TadoQuery1.close;
    TadoQuery1.clear;
    TadoQuery1.SQL.Add('select * from temp where date='+quotedstr(DateStr));
    TadoQuery1.open;
    可是一查看并没有任何记录被提取,怎么回事啊???
    若直接改成     
    ...
    TadoQuery1.SQL.Add('select * from temp where date='+quotedstr('2003-8-16'));
    ...
    又可以提取出记录,奇怪???
    另好像TadoQuery的sql没又象TQuery那样的参数功能啊?
      

  7.   

    字段命名不能用系统符号吧 --date 改下字段名字试试
      

  8.   

    一定要注意ACCESS数据库中对日期型字段操作的SQL语法,#日期#