在pagecontrol中添加N个tabsheet,并且每个tabsheet中的查询条件不同需设置不同的adoquery(前提是ado已连接好数据库了),但每次设置完一个tabsheet后再设第二个就不能设置了,提示好像是重名的意思。求助如何实现不同tabsheet,不同条件的查询呢?

解决方案 »

  1.   

    最好的办法是用N个ADOQuery,对应于TabSheet的个数。如果你只用一个ADOQuery,那你很惨,必须每次在切换TabSheet时改写查询条件:procedure TForm1.TabSheet1Show(Sender: TObject);
    var
      strSql:String;
    begin
      strSql:=...; //当前TabSheet对应的查询语句
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add(strSql);
      ADOQuery1.Open;
      ...
    end;对于其它的TabSheet,你加上相应的代码,当然,你也可以PageControl加控制代码,用Case语句来实现对所有TabSheet的控制。
      

  2.   

    如果你想保留每个Sheet的查询结果,那只能每个Sheet对应一个TQuery了