2013-08-07 4 views
2

У меня есть textbox, в котором я selectpath для .txt, в нем сохраняются и кодируются данные для SqlConnection:Сохранение данных в AppConfig из текстового поля

Stream myStream = null; 
     OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

     openFileDialog1.InitialDirectory = "c:\\"; 
     openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; 
     openFileDialog1.FilterIndex = 2; 
     openFileDialog1.RestoreDirectory = true; 

     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      try 
      { 
       if ((myStream = openFileDialog1.OpenFile()) != null) 
       { 
        using (myStream) 
        { 
         // Insert code to read the stream here. 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); 
      } 
      textBox5.Text = string.Format("{0}", openFileDialog1.FileName) ; 

      // here I need some miracle to save default text for textBox5, appconfig maybe? according to which path was selected 
      nacti_spojeni(); 
     } 

Но проблема в том, что пользователь должен выбрать путь каждый раз, он хочет подключиться к базе данных SQL, я думал, что может быть способ сохранить путь в config приложения, если это возможно? Другие вещи, которые мне приходят, - установить текстовое значение по умолчанию для текстового поля. Может быть, это тривиальный и бессмысленный вопрос. Спасибо всем за ваше время.

ответ

2

Вы можете обновить конфигурационный файл со значением пути передается из текстовых коробок следующим образом,

Примечания: При тестировании этого метода в режиме отладки в визуальной студии вы увидите, будет обновляться только AppConfig.vshost.exe.config witht значение прошло.

private static void UpdateConnectionString(string path) 
{ 
     Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     configuration.AppSettings.Settings["ConfigurationKeyForPath"].Value = path; 

     //Save only the modified section of the config 
     configuration.Save(ConfigurationSaveMode.Modified); 

     //Refresh the appSettings section to reflect updated configurations 
     ConfigurationManager.RefreshSection("appSettings");   
} 
+0

Могу ли я спросить, что «использовать» я должен предоставить? – Marek

+1

Сначала вы должны добавить ссылку на System.Configuration – Kurubaran

+1

Добавить инструкцию using должна быть «using System.Configuration;» – Kurubaran

2

Я не рекомендую вообще сохранять ввод пользователя в app.config. Это не цель файла. Он используется для вас как разработчика или оператора для настройки вашего приложения. Если параметры базы данных предоставлены пользователем (я полагаю, это администратор - ни один пользователь не может изменять настройки базы данных вашего приложения ...), вы можете хранить их в базе данных или в файле, отличном от приложения. конфигурации.

+1

Благодарим за ваше время, но проблема в том, что мне нужно запомнить путь кого-то, возможно ли это? – Marek

Смежные вопросы