query1.close;
   query1.sql.clear;
   Query1.SQL.Add('Select * from mail Where Muser="'+curuser+'"  and  ExDate='+DateToStr(now));
   if (Not Query1.Prepared) then Query1.Prepare;
   query1.Open;///ExDate是Date类型
报错说type mismatch expression

解决方案 »

  1.   

    Query1.SQL.Add('Select * from mail Where Muser='''+curuser+'''');
    Query1.SQL.Add(' and  ExDate='''+DateToStr(now)+'''');
      

  2.   

    改为这样吧
      query1.close;
       query1.sql.clear;
       Query1.SQL.Add('Select * from mail Where Muser='''+curuser+'''  and  ExDate=:dd');
       Query1.ParamByName('dd').AsDate := now;
       if (Not Query1.Prepared) then Query1.Prepare;
       query1.Open;
      

  3.   

    改成这样,也可以了
    query1.close;
       query1.sql.clear;
       Query1.SQL.Add('Select * from mail Where Muser="'+curuser+'"  and  ExDate="'+DateToStr(now)+'"');
       if (Not Query1.Prepared) then Query1.Prepare;
       query1.Open;
      

  4.   

    你将DateToStr(now)用“”括起来就没事了