Обновление строки подключения App.config из текстового поля
Я хочу, чтобы пользователь мог редактировать строку подключения, я настроил диалог браузера файлов, в котором они могут выбирать только файлы.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 знает, где находятся его собственные файлы конфигурации?
2 ответа
Вы можете сделать это следующим образом: вы перейдете в свойства вашего решения
Свойства => Настройки => Добавить новые настройки
(Убедитесь, что Scope "пользователь")
и добавим новое сидение для вашей строки подключения, давайте назовем это: ConnectionString
как упомянуто в этом посте: Приложения заседаний
тогда все, что вам нужно сделать, это
Properties.Settings.Default.ConnectionString = TextBoxConnectionString.Text
Properties.Settings.Default.Save();
Попробуйте, надеюсь, это поможет!
Пользователь не может изменить настройки приложения во время выполнения. Он может быть изменен только во время разработки. Используйте настройки пользователя для этого.
Как: используя настройки приложения и настройки пользователя
С уважением