RT
程式运行时,我想点击一个BUTTOM,改变目前已经连接的应用服务器。两台应用服务器分别连接不同的资料库

解决方案 »

  1.   

    以下是原先FORMSHOW时候的代码,我想点一个按钮后换到我指定的另一个应用服务器连接。procedure TForm1.FormShow(Sender: TObject);
    var
    StrTemp:string;
    i:integer;
    begin
      Bimage:=True;
      tStage:='ASSY';
      if not LoadApServer then begin
        application.Terminate;
        exit;
      end;
      with G_sockConnection do begin
        ServerGUID:='{AF550BF4-3BA4-415D-B1F3-E2F7C8ADE30C}';
        ServerName:='SajetApserver.RMDB';
      end;
      G_sockConnection.Connected:=false;
      QryData.RemoteServer := G_sockConnection;
      QryData.ProviderName := 'DspQryData';
      QryTemp.RemoteServer := G_sockConnection;
      QryTemp.ProviderName := 'DspQryTemp1';
      QryTemp1.RemoteServer := G_sockConnection;
      QryTemp1.ProviderName := 'DspQryTemp1';
      QryTemp2.RemoteServer := G_sockConnection;
      QryTemp2.ProviderName := 'DspQryTemp1';
      SProc.RemoteServer := G_sockConnection;
      SProc.ProviderName := 'DspStoreproc';end;
      

  2.   

    function TForm1.LoadApServer: Boolean;
    Var F : TextFile;
        S : String;
    begin
      Result := False;
      G_sockConnection.Connected := False;
      SimpleObjectBroker1.Servers.Clear;
      If not FileExists(GetCurrentDir+'\ApServer.cfg') Then begin
         showmessage('No ApServer.cfg!');
         Exit;
      end;
      AssignFile(F,GetCurrentDir+'\ApServer.cfg');
      Reset(F);
      While True do
      begin
        Readln(F, S);
        If S <> '' Then
        begin
          SimpleObjectBroker1.Servers.Add;
          SimpleObjectBroker1.Servers[SimpleObjectBroker1.Servers.Count-1].ComputerName := Trim(S);
          SimpleObjectBroker1.Servers[SimpleObjectBroker1.Servers.Count-1].Enabled := True;
        end Else
          Break;
      end;
      CloseFile(F);
      Result := True;
    end;
      

  3.   

    可以的:
    1、关闭TADOConnection
      DataModule1.ADOCon.Connected:=False;
    2、设置ConnectionString值
      ConnectionString:='Provider=SQLOLEDB.1;'+
                        'Password='+Password+';'+
                        'Persist Security Info=True;'+
                        'User ID='+UserName+';'+
                        'Initial Catalog='+DatabaseName+';'+
                        'Data Source='+ServerName;
    3、重新连接
      try
        DataModule1.ADOCon.Connected:=False;
        DataModule1.ADOCon.ConnectionString:=ConnectionString;
        DataModule1.ADOCon.Connected:=True;
        StatusBar1.Panels[0].Text:=' 连接成功!';
      except
        StatusBar1.Panels[0].Text:=' 连接失败!';
      end;