在delphi中,如何用ini文件来连接数据库

解决方案 »

  1.   

    function TDM.ConnectServer : Integer;
    var
      dbini : TIniFile;
      s : string;
    begin
      if conn.Connected then exit;
      GetDBInfo;
      if GDBNAME = '' then
      begin
        Application.MessageBox('请在登陆窗口进行服务器设置!','错误',MB_ICONERROR or MB_OK);
        exit;
      end;
      Try
        dbini:=TInifile.Create(CurrentPath+'\conn.ini');
        Try
          s := dbini.ReadString('CONN','CO1','');
          s := Format(s,[GDBNAME,GSERVERNAME]);
          if conn.Connected then conn.Connected := false;
          conn.ConnectionString := '';
          conn.ConnectionString := s ;
          conn.LoginPrompt := false;
          conn.Open;
          Result := 0;
        Finally
          dbini.Free;
        End;
      Except
        Application.MessageBox('数据库无法打开!', '严重错误', MB_OK + MB_ICONERROR);
        Result := 1;
      End;
    end;
      

  2.   

    [CONN]
    CO1=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%S;Data Source=%S
    Co2=Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=sa;Initial Catalog=%s;Data Source=%s
      

  3.   

    procedure TForm1.FormCreate(Sender: TObject);
    Var MyIni: TIniFile;
    Var path,SysServer,SysDB,:string;
    Var conn:TADOConnection;
    begin
    path:=ExtractFilePath(Application.ExeName)+'TMCEK.ini'; //定位ini文件
    MyIni:=TIniFile.Create(path);//打开
     try
      SysServer:=MyIni.ReadString('ServerConnection','SystemDBServer','');读取指定值
      SysDB:=MyIni.ReadString('ServerConnection','SystemDataBase','');  str:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='+SysDB+';Data Source='+SysServer;
       ADOConn.ConnectionString:=str;
      ADOConn.Open;
      myini.ReadSections(DBComboBox1.Items); except
        showmessage('聯結數據庫不成功,請檢查');
        MyIni.Free;
        exit;
      end;end;