//db_con.ini 这是你的配置文件 [ServerInfo] ServerIP=. SQLDBName=aaaa SQLUserID=sa SQLPwd=sa //这是你的数据库连接单元文件中有关数据库连接函数 function Get_Db_Con_Str(FileName:String):String; var ServerIP,SQLDBName,SQLUserName,SQLPwd:string; begin Result := ''; with TInifile.Create(Filename) do begin try ServerIP:=ReadString('ServerInfo','ServerIP',''); SQLDBName:=ReadString('ServerInfo','SQLDBName',''); SQLUserName:=ReadString('ServerInfo','SQLUserID',''); SQLPwd:=ReadString('ServerInfo','SQLPwd',''); finally Free; end; Result := 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserName+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP; end; //使用 var Ini_FileName:String; //.....
Ini_FileName:=ExtractFilePath( application.ExeName)+'db_con.ini'; if not FileExists(Ini_FileName) then begin ShowMessage('数据库连接配置文件不存在!'); Application.Terimate; end; with ADOConnection1 do Connection := False; ConnectionString:=Get_Db_Con_Str(Ini_FileName); try Connection := True; //..... except ShowMessage('数据库连接失败!请检查配置文件:'+Ini_FileName); //.... end; end;
给你一个简单的: procedure TFrmSrv.BtnSaveClick(Sender: TObject); var I:integer; begin Pwd:=EdtPwd.Text; for I:=1 to length(pwd) do begin pwd[i]:=chr(ord(pwd[i])xor 4); end; myinifile:=Tinifile.Create(ExtractFilePath(paramstr(0))+'\setup.ini'); myinifile.writestring('Setup','Data_Source',EdtSrv.text); myinifile.writestring('Setup','Initial_Catalog',EdtDB.text); myinifile.writestring('Setup','User_ID',EdtUser.text); myinifile.writestring('Setup','Password',Pwd); myinifile.Free; end; end;
[ServerInfo]
ServerIP=.
SQLDBName=aaaa
SQLUserID=sa
SQLPwd=sa
/////////////
var
FileName:string;
begin FileName:=ExtractFilePath( application.ExeName)+'resource\conf.ini';
with TInifile.Create(Filename) do
begin
ServerIP:=ReadString('ServerInfo','ServerIP','');
SQLDBName:=ReadString('ServerInfo','SQLDBName','');
SQLUserName:=ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ReadString('ServerInfo','SQLPwd','');
Destroy;
end;
///////////ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
SQLPwd+
';Persist Security Info=True;'+
'User ID='+
SQLUserName+
';Initial Catalog='+
SQLDBName+
';Data Source='+
ServerIP;
我是这样想的: 先定义两个字符串key和str 作为明钥和密钥.str是key倒过来的对应的字符串.
关于对应的加密,解密代码怎么写啊?我想了这么久,还是没弄会.
加密后再如何应用到三楼的代码中去啊,希望大家指点一下,我实在弄不好了.
6294E987F260513A=93F7BB025CD2ECE209FB77C6868074E3
16CC3532BB7A98DF=198E4BB5584F94BF
E7EBACCB860DAAFE=198E4BB5584F94BF
13AE07A60EF35373=0AB3345601A7728A这是我的配置
6294E987F260513A=93F7BB025CD2ECE209FB77C6868074E3 //服务器
16CC3532BB7A98DF=198E4BB5584F94BF //数据库名
E7EBACCB860DAAFE=198E4BB5584F94BF //用户
13AE07A60EF35373=0AB3345601A7728A //密码
//db_con.ini 这是你的配置文件
[ServerInfo]
ServerIP=.
SQLDBName=aaaa
SQLUserID=sa
SQLPwd=sa
//这是你的数据库连接单元文件中有关数据库连接函数
function Get_Db_Con_Str(FileName:String):String;
var
ServerIP,SQLDBName,SQLUserName,SQLPwd:string;
begin
Result := '';
with TInifile.Create(Filename) do
begin
try
ServerIP:=ReadString('ServerInfo','ServerIP','');
SQLDBName:=ReadString('ServerInfo','SQLDBName','');
SQLUserName:=ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ReadString('ServerInfo','SQLPwd','');
finally
Free;
end;
Result := 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserName+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP;
end;
//使用
var
Ini_FileName:String; //.....
Ini_FileName:=ExtractFilePath( application.ExeName)+'db_con.ini';
if not FileExists(Ini_FileName) then
begin
ShowMessage('数据库连接配置文件不存在!');
Application.Terimate;
end;
with ADOConnection1 do
Connection := False;
ConnectionString:=Get_Db_Con_Str(Ini_FileName);
try
Connection := True;
//.....
except
ShowMessage('数据库连接失败!请检查配置文件:'+Ini_FileName);
//....
end;
end;
procedure TFrmSrv.BtnSaveClick(Sender: TObject);
var I:integer;
begin
Pwd:=EdtPwd.Text;
for I:=1 to length(pwd) do
begin
pwd[i]:=chr(ord(pwd[i])xor 4);
end;
myinifile:=Tinifile.Create(ExtractFilePath(paramstr(0))+'\setup.ini');
myinifile.writestring('Setup','Data_Source',EdtSrv.text);
myinifile.writestring('Setup','Initial_Catalog',EdtDB.text);
myinifile.writestring('Setup','User_ID',EdtUser.text);
myinifile.writestring('Setup','Password',Pwd);
myinifile.Free;
end;
end;