我有一個.NET 4.0與數據庫(SQLite)的winform應用程序。我需要爲用戶添加一個選項,以便能夠更改包含數據庫的文件的路徑 - 簡而言之,就是更改連接字符串。我用的app.config保存連接字符串是這樣的:C#WinForm應用程序 - 如何保存連接字符串(SQLite)
<connectionStrings>
<add name="connectionString" connectionString="Data Source=D:\myDatabase.db; FailIfMissing=True; Version=3"/>
</connectionStrings>
有沒有一種方法可以讓用戶修改app.config文件(它位於Program Files文件夾)?我不想以管理員身份運行應用程序,只有在嘗試修改app.config文件時,是否有辦法暫時授予用戶管理員權限?
如果您有更好的建議持續存儲連接字符串,請分享。
謝謝!
編輯: 其實我可以改變app.config文件:
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = "Data Source=" + path + "; FailIfMissing=True; Version=3";
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");
問題是當用戶不是管理員,對文件的訪問被拒絕。是否有解決方法(我不想以管理員身份運行該應用程序)?還是有更好的方法來存儲我的連接字符串?
如何從設置中獲取連接字符串?對於app.config我使用String conn = ConfigurationManager.ConnectionStrings [「connectionString」]。ConnectionString; – user1080533 2015-02-11 18:20:15
@ user1080533編輯顯示實施。 – DrewJordan 2015-02-11 18:56:14
謝謝,會走這條路 – user1080533 2015-02-11 19:02:54