【问题标题】:How do I save an ADO connection string in an ini file??? [closed]如何将 ADO 连接字符串保存在 ini 文件中??? [关闭]
【发布时间】:2014-05-27 11:39:02
【问题描述】:

我正在尝试将 ADO 连接字符串保存在一个 ini 文件中,但它没有被创建。我用过IniFilesForms 单位。

这是我在数据模块中使用的代码。

procedure TDataModule2.DataModuleCreate(Sender: TObject);
var
  FileIni : TIniFile;
begin
  FileIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'atur.ini');
  ADOConnection1.Connected:=False;
  providerpath:='';
  ADOConnection1.IsolationLevel:= ilReadCommitted;
  providerpath:=FileIni.ReadString('Connection','CN',providerpath);
  ADOConnection1.ConnectionString:= providerpath;
  ADOConnection1.LoginPrompt:=False;
  FileIni.Free;
end;
end.

【问题讨论】:

  • 您的应用程序(运行应用程序的用户)是否有权写入应用程序文件夹?
  • 我没有看到任何写入新文件的尝试,您的代码只是从文件中读取。

标签: delphi ado ini


【解决方案1】:

.ini 文件不是用TIniFile.Create(...); 在磁盘上创建的

如果文件不存在!该文件将使用第一个

  • FileIni.writeString
  • FileIni.WriteBool
  • FileIni.WriteInteger
  • 等。

测试.ini文件是否存在,如果不存在,则将重要的默认值写入新文件。
不要写空的.ini 文件。这就像一个不存在的文件一样无用。

procedure TDataModule2.SetIniDefaults;
  begin
   FileIni.writeString('Connection','CN','defaultproviderpath');
   // other defaults
  end;


procedure TDataModule2.DataModuleCreate(Sender: TObject);
   FileIni : TIniFile;
   myIniPath:string;
  begin
    myIniPath := ExtractFilePath(Application.ExeName)+'atur.ini';
    FileIni := TIniFile.Create(myIniPath);
    providerpath:='DefaultValue'; // important default value
    if NOT FileExists(myIniPath) then
    begin
        SetIniDefaults;
        // after above line the file is created.
    end;
  ....
  providerpath:=FileIni.ReadString('Connection','CN',providerpath);
  ....
end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多