根据用户登录时的登录情况,
对TDatabase控件或ADOConnection控件进行不同的动态设置
然后再Open,就能实现不同用户登录不同的数据库
ADOconnection设置ConnectionString的内容
TDatabase要设置DriveName、Params等内容

解决方案 »

  1.   

    :)采用BDE相连接的时候:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      TempStringList: TStringList;
      I: Integer;
    begin
      TempStringList := TStringList.Create;
      try
        //得到当前你使用的别名的参数……
        Session.GetAliasParams(Table1.DatabaseName, TempStringList);
        for I := 0 to TempStringList.Count - 1 do
        begin
          if Copy(TempStringList[I], 1, Pos('=', TempStringList[I]) - 1) = 'DATABASE NAME' then
            TempStringList[I] := 'DATABASE NAME=yournewdatabase';
          //‘alias'是table所连接的别名,
          Session.ModifyAlias('alisa', TempStringList);
          Session.SaveConfigFile;
        end;
      finally
        TempStringList.Free;
      end;
    end;
    这种方式可以动态的修改所连接的数据库。
    :)如果你是采用ADOConnection连接数据库的时候:
    ADOConnection1.connectionstring = 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=yourdatabasename;Data Source=servername'
    你将yourdatabasename修改即可
    :)以上写的不是很详细,我只是给你提一下,建议你去看看相关帮助,自己琢磨琢磨会比我给你程序好多了,希望对你有一点帮助。三少 :o)
      

  2.   

    直接该ODBC就行了,不管你是什么数据库。
    当然,前提是你是用ODBC连的。
    如果想知道动态的方法,再与我联系吧,我也是第一次上这个网站