我在datamodule中放了三个ADOCONNECTION,con_to_users,con_to_products,con_to_information,一个adoquery名称是MyQuery,当需要连接一个数据库时就先断掉其他两个连接,测试时,在一个窗体内操作没有问题,当在多个窗体内操作就会提示‘连接无法用于执行此操作。在此上下文中它可能被关闭或无效。’。连接的函数和代码贴在下边,请各位不吝指教:
{****************连接到users数据库**************}
function TDataModule2.Con_users():integer;
begin
  MyQuery.Connection := Con_to_users;
  try
    self.Disc_information;
    self.Disc_products;
    Con_to_users.Connected := true;
  except
    result := -1;
    exit;
  end;  
  result := 0;
end;{*****************连接到information数据库************}
function TDataModule2.Con_information():integer;
begin
  MyQuery.Connection := Con_to_information;
  try
    self.Disc_users;
    self.Disc_products;
    Con_to_information.Connected := true;
  except
    result := -1;
    exit;
  end; 
  result := 0;
end;{********************连接到products数据库************}
function TDataModule2.con_products():integer;
begin
  MyQuery.Connection := Con_to_products;
  try
    self.Disc_information;
    self.Disc_users;
    Con_to_products.Connected := true;
  except
    result := -1;
    exit;
  end; 
  result := 0;
end;{***************断开users数据库的连接**********}
procedure TDataModule2.Disc_users;
begin
  Con_to_users.Connected := false;
end;{***************断开products数据库的连接**********}
procedure TdataModule2.Disc_products;
begin
  Con_to_products.Connected := false;
end;{*******************断开information数据库的连接********}
procedure TdataModule2.Disc_information;
begin
  Con_to_information.Connected := false;
end;