窗体内有一个Query控件Query1,已经和数据库连接,并已将数据库内的数据调到Query1内,
现想动态创建一个控件Query2,使其所有属性与Query1的相同,
并使其拥有Query1内的数据(即Query2不用再一次连接并打开数据库),如何实现??
请大家帮帮忙???

解决方案 »

  1.   

    Query没有提供Assign方法,动态创建后,必须自己设置属性并赋值
      

  2.   

    Query有方法啊,不过不知道这样可以不可以。
    如果用ADOQuery,那么可以用Clone方法,这个可以~~
      

  3.   

    大家帮帮忙呀,
    最主要是如何把Query1内的数据复制到Query2(即Query2不用再一次连接并打开数据库)???
      

  4.   

    必须自己写var
    TQ:TQuery;
    begin
      TQ:=TQuery.Create(Application);
      TQ.Database;
      Tq.SQL.Add(...)
      TQ.DataSource:=....;
      TQ.free;
    end;
      

  5.   

    用Close看看吧。不过希望不大,应该是只复制结构吧?
    帮你顶!
      

  6.   

    如果不动态创建,只连接一次数据库(Query1连接并打开数据),
    如何将Query1内的数据复制到Query2内,主要是如何将Query2设置与Query1一样
    的数据结构(即拥有相同的字段),然后再将Query1内的记录一条一条的复制过来????
      

  7.   

    为什么非要用Query?你可以用TClientDataSet
      

  8.   

    Query2:=TADOQuery.Create(nil);
      Query2.Connection :=Query1.Connection;
      Query2.Clone(Query1);
      

  9.   

    Query2:=Query1;
    直接赋值,它们就指向同一个值了.