【问题标题】:Updating my App.config Connection String from a text box从文本框中更新我的 App.config 连接字符串
【发布时间】:2016-08-04 18:43:34
【问题描述】:

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

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 肯定知道它自己的配置文件在哪里?

【问题讨论】:

标签: c# visual-studio configurationmanager


【解决方案1】:

您可以这样做: 你去你的解决方案属性

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

(确保范围是“用户”)

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

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

那么你所要做的就是

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

试试看,希望对你有帮助!

【讨论】:

  • 谢谢你,这有效。我唯一的烦恼是愚蠢的报告事情创建了一个数据库连接事情,我认为使用它而不是我一直使用的字符串可能是一个好主意。不过不用担心,因为这些报告无论如何都不好用,所以我要把它们拿出来。
【解决方案2】:

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

如何:Using Application Settings and User Settings

问候

【讨论】:

    猜你喜欢
    • 2013-12-11
    • 1970-01-01
    • 2012-10-07
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2013-02-01
    • 2011-09-26
    相关资源
    最近更新 更多