配置文件(server.ini)中为:
[server]
servername=
database=
username=
password=怎么用才能使该文件中的相关数据写入
ADOConnection.ConnectionString中
使其与相关数据库相连?

解决方案 »

  1.   

    使用ini文件操作的技术了,找到[server]段把他们读出来就可以了
      

  2.   

    procedure tform1.SaveIni;
    var
      ini : TIniFile;
    begin
      ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'System.ini');
      try
        ini.WriteString('HOSTSETUP','PORT',sePort.Text);
        ini.WriteString('HOSTSETUP','MAXCAPACITY',seMaxCapacity.Text);
        if cbAutoStart.Checked then
          Self.SetAutoStart(True)
        else
          Self.SetAutoStart(False);
        if cbAutoServe.Checked then
          ini.WriteString('HOSTSETUP','AUTOSERVE','1')
        else
          ini.WriteString('HOSTSETUP','AUTOSERVE','0');    ini.WriteString('DBSETUP','DBSERVER',cbDBServer.Text);
        ini.WriteString('DBSETUP','DBUSER',edtDBUser.Text);
        ini.WriteString('DBSETUP','PASSWORD',edtDBPassword.Text);
        ini.WriteString('DBSETUP','DBNAME',edtDBName.Text);
        ini.WriteString('DBSETUP','DBTIME',edit1.Text);//    CLogger.WriteSysLog('参数设置','修改[参数设置]成功');
      finally
        ini.Free;
      end;
    end;
      

  3.   

    上面的是写INI文件啊,人家要的是读
      

  4.   

    var
       serverfile:textfile;
       servername,username,password:string;
    ..........
    assignfile(serverfile,'server.ini');
    reset(serverfile);
    readln(serverfile,serverstr);
    readln(serverfile,serverstr);
     servername:=copy(serverstr,pos('=',serverstr)+1,length(serverstr));
    readln(serverfile,serverstr);
    database:=copy(serverstr,pos('=',serverstr)+1,length(serverstr));
     readln(serverfile,serverstr);
     username:=copy(serverstr,pos('=',serverstr)+1,length(serverstr));
    readln(serverfile,serverstr);
     password:=copy(serverstr,pos('=',serverstr)+1,length(serverstr));
    closefile(serverfile);
      

  5.   

    写只要把readin改成writein就可以了
     .........
      writeln(serverfile,'[server]'); 
      writeln(serverfile,'servername='+...); 
      writeln(serverfile,'database='+...); 
      writeln(serverfile,'username='+...);
      writeln(serverfile,'password='+...); 
    .........
      

  6.   

    我希望得到的是,在系统启动时,从server.ini中读取相应的数据。(这个我能实现)
    然后把这些数据写到ADOConnection.ConnectionString中,使ADOConnection能与指定
    的数据库相连。大家帮帮忙啊,谢谢。
      

  7.   

    你在系统启动时改变ADOConnection.ConnectionString的属性为你从配置文件取的数据就行啦!呵呵
    你最好是一次把所有都取出来:
    如:
    str := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=201Cash;Data Source=192.168.1.118';ADOConnection.ConnectionString := str;
      

  8.   

    你点击adoconnection的connectionstring属性
    然后出现对话蓝了
    点击build选择数据驱动了 
      

  9.   

    procedure TF_DK.FormCreate(Sender: TObject);
    var
      IniFile: TIniFile;
    begin
      IniFile := TIniFile.Create((ExtractFilePath(Paramstr(0))+'config.ini'));
      //showmessage(ExtractFilePath(Paramstr(0)+'config.ini'));
      try
        FUser := IniFile.ReadString('Current Setting', 'User', '');
        FPwd := DecodeString(IniFile.ReadString('Current Setting', 'Pwd', ''));
        FServer := IniFile.ReadString('Current Setting', 'Server', '');
        FDataBase := IniFile.ReadString('Current Setting', 'DataBase', '');
        ADOConnection.Connected := False;
        ADOConnection.ConnectionString := GetConnectionString('SQL', FUser, FPwd,
          FDataBase, FServer);
      finally
        IniFile.Free;
      end;
    end;