我程序要根据不同情况改变数据集。。而且我知道数据集的字串名称如"AdoQuery1",然而我怎么把字串转成真正已存在的数据集?
例如:
  if tt=1 then
   begin
    //我以从数据库中得知,他的数据集名为“DataModule2.ADOQuery1“
    DataSource1.DataSet:=?????????????(应为DataModule2.ADOQuery1)
   end;
///////////////////////
  原先想用FindComponent函数,可不在此窗体的数据集不能查找,如“DataModule2.ADOQuery1“
  我想把字串转化TDataSet()型,可总会出错。。高手指点!!!!!!!!!!
   end;

解决方案 »

  1.   

    query:Tadoquery;
    begin
    query:=Tadoquery.Create(nil);
    query.connection:=dataModule2.adoConnectionDataSource1.DataSet:=query不就可以?
      

  2.   

    DataSource1.DataSet:=
      TADOQuery(FindComponent('ADOQuery1));
      

  3.   

    >>原先想用FindComponent函数,可不在此窗体的数据集不能查找,
    oh, i see!!你可在 DataModule 中, 設置一個function GetAdoQry(tblName: string): TADOQuery;
    beginend;這樣來得到
      

  4.   

    呵呵。。还有其它方法吗?因为我的数据module也可能很多啊。。
             DataModule2.ADOQuery1
    再说了。我只知数据模块的名称为”DataModule2“,怎样和实际名称对应起来呢。