我想要动态地调用 connect.udl 并根据用户选择的账套来使用相对应的数据库
我的代码如下:
var
ConnectStr:string;
begin
ADOConnection1.Connected:=false;
ConnectStr:='FILE NAME='+ExtractFilePath(ParamStr(0))+'connect.udl';
ADOConnection1.ConnectionString:=ConnectStr+';Initial Catalog=数据库名';
ADOConnection1.Connected:=true;
showmessage(ADOConnection1.ConnectionString)
end;但showmessage出来的还是 connect.udl 原本手动指定的内容并不是我用代码指定的内容求高手解答。。
我的代码如下:
var
ConnectStr:string;
begin
ADOConnection1.Connected:=false;
ConnectStr:='FILE NAME='+ExtractFilePath(ParamStr(0))+'connect.udl';
ADOConnection1.ConnectionString:=ConnectStr+';Initial Catalog=数据库名';
ADOConnection1.Connected:=true;
showmessage(ADOConnection1.ConnectionString)
end;但showmessage出来的还是 connect.udl 原本手动指定的内容并不是我用代码指定的内容求高手解答。。
.udl文件:
[oledb]
DataSource=127.0.01,1433
DataBaseName=testcode:
MyIni:=TIniFile.Create(linkFile);
DataSource:=MyIni.ReadString('oledb','DataSource','');
DataBaseName :=MyIni.ReadString('oledb','DataBaseName','');
MyIni.Free;
try
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:= '';
ADOConnection1.ConnectionString:='FILE NAME='+ExtractFilePath(ParamStr(0))+'connect.udl';
ADOConnection1.Provider:=ExtractFilePath(ParamStr(0))+'\connect.udl';
ADOConnection1.Connected:=true;
showmessage(ADOConnection1.ConnectionString);
except
showmessage('连接失败,请重新配置connect.udl文件');
EXIT;
end;
strConn := 'FILE NAME=' + ExtractFilePath(ParamStr(0)) + 'Conn.udl';
gDB_Conn := TADOConnection.Create(nil);
try
with gDB_Conn do
begin
Close;
LoginPrompt := false;
ConnectionString := strConn;
// ConnectionTimeout := 5; // 5 sec
Open;
end;
... ...
... ...