从文本框更新我的App.config连接字符串

时间:2016-04-13 14:57:42

标签: c# visual-studio configurationmanager

我希望用户能够编辑连接字符串,我已经设置了一个文件浏览器对话框,他们只能选择.accdb文件,并且我试图让保存按钮覆盖当前连接字符串与文本框中的文件路径。我在不同的时间有多个错误,我最终得到了一个看似非常接近工作的设置,但我有一个NullReferenceException错误,该错误表示"对象引用未设置为一个实例对象&#34 ;.希望这是一个新手的错误。

var configuration = ConfigurationManager.OpenExeConfiguration(@"\\Mac\Home\Documents\Visual Studio 2015\Projects\tiddlywinks\tiddlywinks\App.config");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["tiddlywinksDatabaseConnectionString1"].ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source ='" + filePathTextBox.Text + "'; Persist Security Info=False;";
configuration.Save();

这是我有的代码。有人可以帮忙吗? 另外,有没有办法实现相同的方法,而不必告诉程序App.config在哪里,当然Visual Studios知道它自己的配置文件在哪里?

2 个答案:

答案 0 :(得分:1)

你可以这样做: 您转到解决方案属性

  

属性=>设置=>添加新设置

     

(确保Scope是“用户”)

并为您的连接字符串添加一个新的坐位,让我们称之为:ConnectionString

就像这篇文章中提到的: Applications sittings

那么你所要做的就是

Properties.Settings.Default.ConnectionString = TextBoxConnectionString.Text
Properties.Settings.Default.Save();

尝试一下,希望它有所帮助!

答案 1 :(得分:0)

用户无法在运行时更改应用程序设置。 它只能在设计时修改。 使用此用户设置。

如何:Using Application Settings and User Settings

此致