请教用ADO连接数据库路径配置问题
请教用ADO连接数据库时,如何通过INI类型文件来配置数据库路径?能举例说明更好? 问题点数:20、回复次数:3Top
1 楼lwjghhh(迷茫中)回复于 2005-05-27 09:48:35 得分 10
function GetConnectionString(): widestring;
var
Servername,Database,Username,password:string;
LoginType:Integer;
IniFilePath: String;
begin
IniFilePath := Dirpatch(ExtractFileDir(Application.ExeName))+'System.ini';
ServerName := ReadIni(IniFilePath, 'System', 'ServerName');
DataBase := Readini(IniFilePath, 'System', 'DatabaseName');
UserName := ReadIni(IniFilePath, 'System', 'UserName');
PassWord := DecodeBase64(ReadIni(IniFilePath, 'System', 'Password'));
if not TryStrToInt(ReadIni(IniFilePath, 'System', 'LoginStyle'), LoginType) then
LoginType :=1;
if (LoginType<0) or (LoginType>1) then LoginType := 1;
Result := 'Provider=SQLOLEDB.1;';
if LoginType = 0 then
Result := Result + 'Integrated Security=SSPI;Persist Security Info=False;'
else
begin
Result := Result + 'Password='+Password+';' ;
Result := Result + 'Persist Security Info=True;User ID=' + Username+';';
end;
Result := Result + 'Initial Catalog=' + Database+';';
Result:=Result + 'Data Source=' + ServerName;
end;Top
2 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-05-27 10:09:27 得分 10
手头上现成的
cfgini:=Tinifile.Create(path+'config.ini');
constr:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=';
constr:=constr+cfgini.ReadString('db','username','sa');
constr:=constr+';PASSWORD=';
constr:=constr+cfgini.ReadString('db','pwd','coffee');
constr:=constr+';Initial Catalog=';
constr:=constr+cfgini.ReadString('db','database','visa');
constr:=constr+';Data Source='+cfgini.ReadString('db','datasource','renant');
Form3.ADOConnection1.Connected:=false;
Form3.ADOConnection1.LoginPrompt
Form3.ADOConnection1.ConnectionString:=constr;
Form3.ADOConnection1.Connected:=True;
Form3.ADOQuery1.Connection: .SQL.Clear;
sqlstr:='select passwd from login where userid='''+Edit1.Text+'''';
Form3.ADOQuery1.SQL.Add(sqlstr);
Form3.ADOQuery1.Open;Top
3 楼Kshape(C/C++初学者~~~~)回复于 2005-05-27 10:53:00 得分 0
把密码用户名与服务器名字保存到ini中
连接失败则读取并且重新写入就可以了
具体查看ini操作
宝典上有介绍的Top




