下面是我的一个测试代码:
procedure TfrmMain.Button1Click(Sender: TObject);
begin
        AdoQuery.SQL.Clear;
        AdoQuery.SQL.Insert(0,'select * from 用户表');
        AdoQuery.SQL.Insert(1,'select * from 行业分类表');
        AdoQuery.Connection := Conn;
        try
                AdoQuery.open;
        except
                On Err : exception do
                begin
                        ShowMessage(Err.Message);
                        exit;
                end;
        end;
        DataSource.DataSet := AdoQuery;
        self.DBGrid1.DataSource := DataSource;
end;这样在DBGrid1中显示的是 'select * from 用户表' 的结果集,
我怎么样选择 'select * from 行业分类表' 这个结果集显示在DBGrid1中啊?

解决方案 »

  1.   

    在Sql中解决,Union可以合并,不过要有一样多的列
      

  2.   

    我把多个查询的结果集放在AdoQuery中。。我怎么样使用不同的结果集呢!!??是否可能同时使用多个结果集,还是同时只能使用一个结果集?如果要是只能同时使用一结果集,,我怎么样在这多个不同的结果集中指定我要使用的结果集!???
      

  3.   

    每次只显示一个!procedure TfrmMain.DisplayResult(sql:String);
    begin
            AdoQuery.Close;
            AdoQuery.SQL.Text:= sql;        
    AdoQuery.Connection := Conn;
            try
                    AdoQuery.open;
            except
                    On Err : exception do
                    begin
                            ShowMessage(Err.Message);
                            exit;
                    end;
            end;
            DataSource.DataSet := AdoQuery;
            self.DBGrid1.DataSource := DataSource;
    end;
    procedure TfrmMain.Button1Click(Sender: TObject);
    begin
      DisplayResult('select * from 用户表');
    end;procedure TfrmMain.Button1Click(Sender: TObject);
    begin
      DisplayResult('select * from 行业分类表');
    end;
      

  4.   

    字段对应的情况下(取得字段和dbgird中字段)你的adoquery取什么结果集,dbgird就会显示什么样的结果集
      

  5.   


    AdoQuery.SQL.Insert(0,'select * from 用户表');
    AdoQuery.SQL.Insert(1,'select * from 行业分类表');
    我AdoQuery.open 一下,,AdoQuery是有两个结果集0、1,还是只有一个结果集 0 ??
    我在DBGrid1中怎么样选取0和1来显示???
      

  6.   

    我也知道每次只能显示一个,,,但问题是怎么样选取我想要显示的那一个!我想知道的是AdoQuery是否能一次查询多个SQL语句,,,要是不能的话,,

    AdoQuery.SQL.Insert(0,'select * from table1');
    AdoQuery.SQL.Insert(1,'select * from table2');
    .
    .
    .
    AdoQuery.SQL.Insert(1,'select * from tableN');
    AdoQuery.open;
     
    这样的语句是怎么回事啊??不知道你们有没有明白我的意思??我想要的是一次查询多条SQL语句,
    然后在这多条结果集中选择其中的一个来显示在DBGrid1中,,而不是多次查询来实现!?
      

  7.   

    AdoQuery.SQL.Insert(0,'select * from table1');
    AdoQuery.SQL.Insert(1,'select * from table2');
    .
    .
    .
    AdoQuery.SQL.Insert(N-1,'select * from tableN');
    AdoQuery.open;如果要是每次都只查询 AdoQuery.SQL.Insert(0,'select * from table1'); 这条的话,,那下面的
    AdoQuery.SQL.Insert(1,'select * from table2');
    .
    .
    .
    AdoQuery.SQL.Insert(N-1,'select * from tableN');
    在这里有什么作用啊????
      

  8.   

    楼主,你到底是要实现什么样的功能?
    我的理解是你想用一个dbgrid来显示不同的结果集,对不对,你可以用一个事件来调用不同的sql就行了呀。