VF一个表1,时间字段1是:09/23/2006
我通过SQL语句检索大于这个时间的记录
strsql:='select * from dinls where f16>=''10/23/2006'';
      
      with f_dm.ad_rkcs do
      begin
            close;
            sql.Clear;
            sql.Text:=strsql;
            open;
      end;错误提示:Operator/operand type mismatch . 是不是格式不匹配啊

解决方案 »

  1.   

    VF的时间字段是:10/20/2005
    我用DELPHI生成(2006-12-31)这种时间格式去比较出错, 生存10/20/2005这种相同的格式比较也出错. 好烦..我不知道怎么办啦
      

  2.   

    字符串转成时间型的吧
    to_date()?
      

  3.   


          strdate:=strtodatetime(Edit4.Text);
          strsql:='select f02,f03,f06,f12,f25 from dinls where f16>='''+strdate+'''';
          SQL语句里不能用SQL语句啊! 
          NND怎么搞啊!
      

  4.   

    strdate:=strtodatetime(Edit4.Text);  
               strsql:='select  f02,f03,f06,f12,f25  from  dinls  where  f16  >='''+strdate+'''';  
               SQL语句里不能用时间型啊!    
               NND怎么搞啊!
      

  5.   

    strsql:='select * from dinls where f16>=''10/23/2006'';strdate:='10/23/2006';
    strsql:='select * from dinls where f16>='''+strdate+''';
    这样都不行啊!到底怎么用参数传进去啊
      

  6.   

    说句实话,怎么用参数传进去这个问题不是很想回答你。毕竟你能找到答案。strsql:='select * from dinls where f16>=:strdate';
    f_dm.ad_rkcs.sql.Text:=strsql;
    f_dm.ad_rkcs.ParamByName('strdate').AsDate=now;
    f_dm.ad_rkcs.open;
      

  7.   

    f_dm.ad_rkcs.Parameters.ParamByName('strdate1').AsDate才行 而且没有asdate这个的属性
    所以类型不匹配