从textbox将数据存储到appconfig中

我有textbox ,我在其中select .txt path ,其中保存了SqlConnection编码数据:

  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数据库时都必须选择路径,我想如果有可能的话可以将路径保存到app config中? 我想到的其他事情是为文本框设置默认文本值。 也许这是微不足道和无意义的问题。 谢谢大家的时间。

您可以使用从txt框传递的路径值更新配置文件,如下所示,

注意 :在visual studio中以调试模式测试此方法时,您将看到只有AppConfig.vshost.exe.config将使用传递的值进行更新。

 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"); } 

我根本不建议在app.config中保存用户输入。 这不是文件的目的。 它用作开发人员或操作员来配置您的应用程序。 如果数据库设置由用户提供(我假设这是管理员 – 并非任何用户都应该能够更改应用程序的数据库设置…),则可以将它们存储在数据库或不同于应用程序的文件中。配置。