根据用户登录时的登录情况,
对TDatabase控件或ADOConnection控件进行不同的动态设置
然后再Open,就能实现不同用户登录不同的数据库
ADOconnection设置ConnectionString的内容
TDatabase要设置DriveName、Params等内容
对TDatabase控件或ADOConnection控件进行不同的动态设置
然后再Open,就能实现不同用户登录不同的数据库
ADOconnection设置ConnectionString的内容
TDatabase要设置DriveName、Params等内容
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)
当然,前提是你是用ODBC连的。
如果想知道动态的方法,再与我联系吧,我也是第一次上这个网站