Query1.SQL.Clear;
    Query1.SQL.Add('select CustNO,Company,City,State from customer.db');
    Query1.SQL.Add('where country=(:countryName)');
    Query1.Params[0].AsString:=Edit1.Text;
    Query1.ExecSQL;
    Query1.Active;
    Edit1.Text:='';

解决方案 »

  1.   

    显示需要使用DataSource才行,你都设了吗
      

  2.   

    我又这样子试就查得到内容:
    我把最后一句换成 Query1.Open;
    通过了!!!后来我干脆把Query1.ExecSQL都删了,保留OPEN也行!!请问open,active,execsql三句到底应该怎么搭配?
    它们各自的具体功能能帮我解释一下吗?
    谢谢!
      

  3.   

    Open执行SQL ,返回结果集
    Execsql执行SQL,不返回结果集
    Active不知道,用Query的时候,我就没这么用过
      

  4.   

    Active大致等同于Open,当联系到DBgrid的时候,只要Active一下就可
      

  5.   

    但现在我就是用active 和 execsql是显示不了内容的,
    ?
    单用一个open就行!!!!
      

  6.   

    三个只用一个就可以了,active := true;多看帮助。
      

  7.   

    Query1.SQL.Clear;
        Query1.SQL.Add('select CustNO,Company,City,State from customer.db');
        Query1.SQL.Add('where country=:countryName');
        Query1.Params[0].AsString:=Edit1.Text;
    Query1.open;
        
      

  8.   

    注意
     query1.close; 应放在SQL语句的最前面
     query1.open; 放在后面