J
jxsrhuangg
Unregistered / Unconfirmed
GUEST, unregistred user!
我原来把adoconnection.connect:=true;可以实现局域网多机连接数据库sql 2000,但为了实现动态连接,我用读取inifile文件内容来设置adoconnection.connectstring的属性,却只能在本机上使用,不能在其它机子上使用,出错提示:连接字符串属性无效。部份代码如下:
var inifile:tinifile;
str,str_temp:string;
str1,str2,str3:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='';
adoconnection1.KeepConnection:=false;
inifile:=tinifile.Create(extractfilepath(paramstr(0))+'ldj.ini');
str1:=inifile.ReadString('服务器设置','用户名','');
str2:=inifile.ReadString('服务器设置','数据库名','');
str3:=inifile.ReadString('服务器设置','服务器名','');
str:='Provider=SQLOLEDB.1;Password=hgsybj;persist Security info=true;';
str_temp:='User ID='+str1+';'+'initial catalog='+str2+';'+'datasource='+str3+';';
str:=str+str_temp;
//showmessage(str);
if ADOConnection1.Connected=false then
begin
ADOConnection1.ConnectionString:=str;
//showmessage(adoconnection1.ConnectionString);
ADOConnection1.Open;
adoconnection1.KeepConnection:=true;
end
else begin
showmessage('登录失败,请正确设置系统');
adoconnection1.Destroy;
end;
inifile.Free;
var inifile:tinifile;
str,str_temp:string;
str1,str2,str3:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='';
adoconnection1.KeepConnection:=false;
inifile:=tinifile.Create(extractfilepath(paramstr(0))+'ldj.ini');
str1:=inifile.ReadString('服务器设置','用户名','');
str2:=inifile.ReadString('服务器设置','数据库名','');
str3:=inifile.ReadString('服务器设置','服务器名','');
str:='Provider=SQLOLEDB.1;Password=hgsybj;persist Security info=true;';
str_temp:='User ID='+str1+';'+'initial catalog='+str2+';'+'datasource='+str3+';';
str:=str+str_temp;
//showmessage(str);
if ADOConnection1.Connected=false then
begin
ADOConnection1.ConnectionString:=str;
//showmessage(adoconnection1.ConnectionString);
ADOConnection1.Open;
adoconnection1.KeepConnection:=true;
end
else begin
showmessage('登录失败,请正确设置系统');
adoconnection1.Destroy;
end;
inifile.Free;