注册表ReadString问题
IfRegInfo:=TRegistry.Create;
IfRegInfo.RootKey:=HKEY_LOCAL_MACHINE; //存放在此根下
if IfregInfo.KeyExists(Ifreg_HKEY) then //键值存在
filename:=IfregInfo.ReadString('ifreg');
从注册表取值就有问题
//filename:='C:\Documents and Settings\Administrator\桌面\连接数据库\program.ini';
用这个直接赋值就没问题
myinifile:=tinifile.Create(filename);
servername:=myinifile.Readstring('con','server','hst007');
dataname:=myinifile.Readstring('con','dataname','henghui');
use:=myinifile.Readstring('con','use','sa');
mm:=myinifile.Readstring('con','mm','');
myinifile.Destroy;
IfregInfo.Destroy;
with ADOConnection1 do
begin
Connected:= false;
Provider:= 'SQLOLEDB.1';
Properties['Data Source'].Value:= Decrypt(servername); //服务器名
Properties['Initial Catalog'].Value:= Decrypt(dataname); //ku名
Properties['User ID'].Value:= Decrypt(use); //用户名
Properties['password'].Value:= Decrypt(mm); //密码
LoginPrompt:= false;
end;
end;
[解决办法]
filename:=IfregInfo.ReadString( "ifreg ");
从注册表取值就有问题
//filename:= "C:\Documents and Settings\Administrator\桌面\连接数据库\program.ini ";
用这个直接赋值就没问题
------
是什么问题?是否名称搞错了。Ifreg_HKEY=ifreg?
[解决办法]
跟踪一下,看读出来的是什么字符串