var
 Query2:tquery;
begin
  query2.Create(????);//这里老出错!
  query2.DatabaseName:='aa'  ;
  with query2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from orders ');
      Prepare;
      Open;
    end;
  DataSource1.DataSet:=Query2;
  DBgrid1.DataSource:=DataSource1;
end;

解决方案 »

  1.   

    query2 := TQuery.Create(nil);
      

  2.   

    对啦,一般情况下不要用对象调用create函数,而要用类名调用create函数,这样比较安全.个人觉得效率可能也会高一点.哈哈.
      

  3.   

    query2 := TQuery.Create(nil);
      

  4.   

    query2 := TQuery.Create(nil)
      

  5.   

    来晚了!
    同意 phy(被爱捶死)!!!
    用类名调用create函数,从逻辑上更容易理解。
    我的理解:想要AK47,找AK47供应商(类)!
      

  6.   

    呵呵!
     nmqhzh(昨夜风):你应该找军火商啊!批发找俄罗斯也可以啊!
      

  7.   

    来晚了!
    同意phy(被爱捶死)的观点!