DSN=OFFICE;
DESC=OA system;
DATABASE=office;
SERVER=127.0.0.1;
UID=root;
PASSWORD=;
PORT=3306;
OPTION=3;
STMT=;这是用ADO连接的ODBC

解决方案 »

  1.   

    加一个TDataBase, 用DataBase.Param[i]赋值
      

  2.   

    use inifiles;
      s:string;
    myini :Tinifile;
    myini :=TIniFile.Create('c:\system.ini');
    s:=myini.ReadString('结点名','键名','键值');
    如果用ADO连接SQL则构造以下字符串就可以了
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=hotel;Data Source=lw
      

  3.   

    建一个.udl文件 ,然后将TADOConnection的ConnectionString设为
    ConnectionString:='File Name='+ExtractFilePath(Application.ExeName)+'xx.udl'
    这样比较方便!
      

  4.   

    xiaofeng_cxy(萧风) 的方法比较方便,udl 的配置即是调用系统的 ADO 数据连接配置。
      

  5.   

    johnsonrao(johnson) 用你的database固然可施,但你也看看这个问题呀!你哪方法来这儿的人都知道。
    但你哪改变起来可有点烦哟,要改源码还要重新编译生成才行,且得又重新安装一篇。
    有谁能把方法说明一点,如一个配置文件,改了即可生效,Delphi又如何来读取这个配置文件达到数据库的配置,哪ODBC,什么BDE呀看起我就心烦,ADO都说还可以,但我一直不喜欢ADO,你们有何建见或者更好更简单的解决办法?若为配置文件也存在一个问题就是安全性不高了,里面的数据库,用户名,密码什么的都被看见了。
      

  6.   

    为什么不喜欢用ADO呢,给你看我的例子,用ADO访问SQL Server,用INI来保存数据库参数,其中口令字段我是加密保存的,你可以随便用一个对称加密算法来做,ADO的数据库连接参数放在TADOConnection.ConnectionString里面,只要组合这个字符串就好了
    DB.INI
    [database]
    ServerName = xxxx;
    UserName = xxxx;
    Password = xxxx;
    InitDB = xxxx;
    function GetConnectionString: string;
    var
      SYSINI: TINIFile;
      ServerName, UserName, Password, InitDB: string;
      tmpstr: string;
    begin
      SYSINI := TIniFile.Create('DB.INI');
      try
        ServerName := SYSINI.ReadString('Database', 'ServerName', '');
        UserName := SYSINI.ReadString('Database', 'UserName', '');
        InitDB := SYSINI.ReadString('Database', 'InitDB', '');
        tmpstr := SYSINI.ReadString('Database', 'Password', '');
        Password := Decrypt(tmpstr, Key);
        Result := '';
        Result := 'Provider=SQLOLEDB.1;Password=' + Password + ';Persist Security Info=True;User ID=' + UserName + ';Initial Catalog=' + InitDB + ';Data Source=' + ServerName;
      finally
        SYSINI.Free;
      end;
    end;procedure SetConnectionString(ServerName, UserName, Password, InitDB: string);
    var
      SYSINI: TINIFile;
      tmpstr: string;
    begin
      SYSINI := TIniFile.Create('DB.INI');
      try
        with SYSINI do
        begin
          WriteString('Database', 'ServerName', ServerName);
          WriteString('Database', 'UserName', UserName);
          WriteString('Database', 'InitDB', InitDB);
          tmpstr := Encrypt(Password, Key);
          WriteString('Database', 'Password', tmpstr);
        end;
      finally
        SYSINI.Free;
      end;
    end;
      

  7.   

    当然你也可以用UDL文件来做,如果你要,我可以给你例子
      

  8.   

    使用 UDL 方法吧,简单,方便,快速.
    在ADO的连接处选择第一个选项就可以了.