我在delphi中的代码是:
…………
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Table1 Where TDate = '''+Edit1.text+'''');
Query1.Open;
…………
出现的问题是:在Edit1中输入的日期与标准类型不匹配。

解决方案 »

  1.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from Table1 Where TDate = #'+Edit1.text+'#');
    Query1.Open;
    …………
      

  2.   

    两点:
    第一,TDate 换个名字(也不要用DATE);
    第二,Edit1.text内容的格式要与系统格式相同!
      

  3.   

    如果你表中的TDATE字段为日期型的话,那你EDIT.TEXT也要转换为日期型.
    建议你用参数查找
    with query do
    begin
      close;
      sql.clear;
      sql.add('select * from table where tdate =: tdate');
      ParamByName('tdate').asdatetime :=StrToDateTime(edit1.text);
      try
        open;
      except
        showmessage('error');
      end;
    end;
      

  4.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from Table1 Where TDate = #'+Edit1.text+'#');
    Query1.Open;
    在日期型前后面一定要加“#”号!!
      

  5.   

    format('yyyy-mm-dd',trim(Edit1.text))
    ok??