procedure TForm1.Button2Click(Sender: TObject);
var today : string;
begin
today:=trim(DateToStr(now));
Query1.Active:=false;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from log where logdate=''+today+''');
{Query1.ExecSQL; }
Query1.Active:=TRUE;
end;
运行这段代码的结果是空,我觉得应该是today没有传进去,请各位大侠帮忙解决一下

解决方案 »

  1.   

    你的数据库中的数据是什么类型?最好是把sql(运行中生成的)拷贝到数据库中试一试。
      

  2.   

    这样写
    Query1.SQL.Add('select * from log where logdate='+'''+today+''');
      

  3.   

    我的数据库是sql server,在里面运行完全正确
    Query1.SQL.Add('select * from log where logdate='+'''+today+''');这样写结果也是空啊
      

  4.   

    如果你的logdate的数据类型是string的,那么你用这个试试
    var
     sqlstr string
     ...
    begin
      today:=trim(DateToStr(now));
      Query1.Active:=false;
      Query1.Close;
      Query1.SQL.Clear;
      sqlstr:=fromat('select * from log where logdate=''%s'',[]today);
      Query1.SQL.Add(sqlstr);
      query1.open;
    end也可以使用showmessage(Query1.SQL.gettext)察看输入的sql语句
      

  5.   

    正确的SQL语句应该是:
    Query1.SQL.Add('select * from log where logdate='''+today+'''');
      

  6.   

    实在不好意思,小弟是delphi的初学者,让大家见笑了:(