你可以先配置一个可以使用的connectionstring,然后将其中的关键信息
存放在ini文件或注册表中,用的时候提取。以下是我写的一段代码,你可以参考修改,使之适用.
GOOD LUCK//读入配置
ISNTLOGIN:=False;
myrg:=tregistry.Create;
myrg.RootKey :=HKEY_LOCAL_MACHINE;
if not myrg.KeyExists('software\SQLDbTk') Then
Begin
myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('Server','ITEMSERVER');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteBool('IsNTLogin',False);
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('UserID','sa');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('PassWord','sa');
myrg.closekey; application.createform(TLoginForm, LoginForm);
LoginForm.showmodal;
LoginForm.release;
end
else
begin
myrg.OpenKey('software\SQLDbTk',true);
SQLServerName:=myrg.readString('Server');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
if myrg.ReadBool('IsNTLogin') then ISNTLOGIN:=true else ISNTLOGIN:=false;
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerUserID:=myrg.readString('UserID');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerPassWord:=myrg.readString('PassWord');
myrg.closekey; end;
myrg.Free;//连接SERVER
ISADOConnection:=False;
DataModule1.ADOConnection1.Connected:=False;
if ISNTLOGIN then DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TKSQLDB;Data Source='+SQLServerName
else DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+ServerPassWord+';Persist Security Info=True;User ID='+ServerUserID+';Initial Catalog=TKSQLDB;Data Source='+SQLServerName;//+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=JZNSERVER;Use Encryption for Data=False;Tag with column collation when possible=False';
try
DataModule1.ADOConnection1.Connected:=True;
ISADOConnection:=True;
except
ISADOConnection:=False;
showmessage('数据库服务器登录错误!,请按“服务器登录设置”按钮进行正确设置。');
exit;
end;
存放在ini文件或注册表中,用的时候提取。以下是我写的一段代码,你可以参考修改,使之适用.
GOOD LUCK//读入配置
ISNTLOGIN:=False;
myrg:=tregistry.Create;
myrg.RootKey :=HKEY_LOCAL_MACHINE;
if not myrg.KeyExists('software\SQLDbTk') Then
Begin
myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('Server','ITEMSERVER');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteBool('IsNTLogin',False);
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('UserID','sa');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('PassWord','sa');
myrg.closekey; application.createform(TLoginForm, LoginForm);
LoginForm.showmodal;
LoginForm.release;
end
else
begin
myrg.OpenKey('software\SQLDbTk',true);
SQLServerName:=myrg.readString('Server');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
if myrg.ReadBool('IsNTLogin') then ISNTLOGIN:=true else ISNTLOGIN:=false;
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerUserID:=myrg.readString('UserID');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerPassWord:=myrg.readString('PassWord');
myrg.closekey; end;
myrg.Free;//连接SERVER
ISADOConnection:=False;
DataModule1.ADOConnection1.Connected:=False;
if ISNTLOGIN then DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TKSQLDB;Data Source='+SQLServerName
else DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+ServerPassWord+';Persist Security Info=True;User ID='+ServerUserID+';Initial Catalog=TKSQLDB;Data Source='+SQLServerName;//+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=JZNSERVER;Use Encryption for Data=False;Tag with column collation when possible=False';
try
DataModule1.ADOConnection1.Connected:=True;
ISADOConnection:=True;
except
ISADOConnection:=False;
showmessage('数据库服务器登录错误!,请按“服务器登录设置”按钮进行正确设置。');
exit;
end;
存放在ini文件或注册表中,用的时候提取。以下是我写的一段代码,你可以参考修改,使之适用.
GOOD LUCK//读入配置
ISNTLOGIN:=False;
myrg:=tregistry.Create;
myrg.RootKey :=HKEY_LOCAL_MACHINE;
if not myrg.KeyExists('software\SQLDbTk') Then
Begin
myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('Server','ITEMSERVER');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteBool('IsNTLogin',False);
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('UserID','sa');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
myrg.WriteString('PassWord','sa');
myrg.closekey; application.createform(TLoginForm, LoginForm);
LoginForm.showmodal;
LoginForm.release;
end
else
begin
myrg.OpenKey('software\SQLDbTk',true);
SQLServerName:=myrg.readString('Server');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
if myrg.ReadBool('IsNTLogin') then ISNTLOGIN:=true else ISNTLOGIN:=false;
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerUserID:=myrg.readString('UserID');
myrg.closekey; myrg.OpenKey('software\SQLDbTk',true);
ServerPassWord:=myrg.readString('PassWord');
myrg.closekey; end;
myrg.Free;//连接SERVER
ISADOConnection:=False;
DataModule1.ADOConnection1.Connected:=False;
if ISNTLOGIN then DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TKSQLDB;Data Source='+SQLServerName
else DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+ServerPassWord+';Persist Security Info=True;User ID='+ServerUserID+';Initial Catalog=TKSQLDB;Data Source='+SQLServerName;//+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=JZNSERVER;Use Encryption for Data=False;Tag with column collation when possible=False';
try
DataModule1.ADOConnection1.Connected:=True;
ISADOConnection:=True;
except
ISADOConnection:=False;
showmessage('数据库服务器登录错误!,请按“服务器登录设置”按钮进行正确设置。');
exit;
end;