在uses中加入了inifiles
变量声明 inifile:tinifile
程序:
var dir:string;
begin
dir:=extractfiledir(application.ExeName);
StatusBar1.Panels.Items[0].Text:=' ÕýÔÚÁ¬½ÓÊý¾Ý¿â!';
inifile:=tinifile.Create(dir+'connect.ini');
dm.ADOConnection1.Close;
dm.ADOConnection1.ConnectionString:='Provider="'+inifile.ReadString('provider')+'";
                                    'Data Source="'+inifile.ReadString('Data Source')+'";
                                    'Persist Security Info="'+inifile.ReadString('Persist Security Info')+'";
try
dm.ADOConnection1.Connected:=true;
StatusBar1.Panels.Items[0].Text:='Êý¾Ý¿âÁ¬½Ó³É¹¦£¡ÇëµÇ¼Èí¼þ½øÐÐÆäËü²Ù×÷£¡';
finally
StatusBar1.Panels.Items[0].Text:='Êý¾Ý¿âÁ¬½Óʧ°Ü£¡Çë¼ì²é²ÎÊýÅäÖÃÎļþconnect.ini£¡';
end;
请帮忙修改一下

解决方案 »

  1.   

    var
      tempIni: TIniFile;
      SQLServerName ,SQLDBName ,Password :string;begin
      tempIni :=TIniFile.Create(extractfilepath(ParamStr(0))+'sys.ini');
      SQLServerName := tempIni.ReadString('SYSTEM', 'SERVER', '');
      SQLDBName := tempIni.ReadString('SYSTEM', 'DBNAME', '');
      Password := tempIni.ReadString('SYSTEM', 'Password','');
      tempIni.Free;
     
      ConnString  :='Provider=SQLOLEDB.1;Password='+password+';Persist Security Info=True;User ID=sa;Initial Catalog='+SQLDBName+';Data Source='+SQLServerName;
      try
         sysdm.WorkLogDb.connected := false;
         sysdm.WorkLogDb.ConnectionString := ConnString;
         sysdm.WorkLogDb.connected := true;
      except
         on e:EoleException do    //EDBEngineError
         begin
           if e.Errorcode = -2147217843 then
             begin
             MsShow('数据库密码不对!');
             end
           else if e.Errorcode = -2147467259 then
             begin
             MSShow('数据库服务器名或数据库名不对!');
              end;
         end;
      end;
      

  2.   

    为什么问问题的人总是不喜欢把错误信息贴出来就把代码贴出来就问人哪错,你自己有没看错误信息?是编译错误还是运行错误?看了错误信息的话,那你有没有看到你上面的代码有没有给你指出是参数不够,没有结束的字符串.你的
    dm.ADOConnection1.ConnectionString:='Provider="'+inifile.ReadString('provider')+'";
                                        'Data Source="'+inifile.ReadString('Data Source')+'";
                                        'Persist Security Info="'+inifile.ReadString('Persist Security Info')+'";
    这句代码ReadString方法帮助看了没?ReadString方法是要三个参数.)+'";这个字符串结尾了吗?
      

  3.   

    fenger8293 您说的很对
    但是这是delphi  
    字符串用单引号