用adotable为何无法先后连接两个表?这里有两个表 tab1 (localIp,localPort)
             tab2 (remoteIp,remotePort)procedure getTab1;
begin
     with adotable1 do
     begin
          tablename:='tab1';
          IPDbEdit.datafield:='localIp';
          PortDbEdit.datafield:='localPort';
          active;
          edit;
     end;
end;procedure getTab2;
begin
     with adotable1 do
     begin
          tablename:='tab2';
          remoteIpDbEdit.datafield:='remoteIp';
          remotePortDbEdit.datafield:='remotePort';
          active;
          edit;
     end;
end;我在调用getTab1访问tab1 在IPDbEdit,PortDbEdit 中获得tab1相应字段值后,再调用getTab2
访问tab2 在remoteIpDbEdit,remotePortDbEdit 中获得tab2相应字段值时,访问数据库失败;
只单独使用两者时,不会出错。请大侠看看上述过程哪里有问题,并给予解决,多谢

解决方案 »

  1.   

    用ADOQUERY吧
    可以考虑用两个啊
      

  2.   

    DataSource1  对应DBGrid1  对应表 aaa
    DataSource2  对应DBGrid2  对应表 ddd
    其实用ADOQuery比较好点
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      ADOTable1.Close;
      DataSource2.Enabled:=false;
      DataSource1.Enabled:=true;
      ADOTable1.TableName:= 'aaa';
      ADOTable1.Open;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      ADOTable1.Close;
      DataSource1.Enabled:=false;
      DataSource2.Enabled:=true;
      ADOTable1.TableName:= 'ddd';
      ADOTable1.Open;
    end;
      

  3.   

    DataSource1  对应DBGrid1  对应表 aaa
    DataSource2  对应DBGrid2  对应表 ddd
    建议用一个ADOQuery,用两个datasource好实现一点