C# 配置自定义的Config文件

一、前言 我在某个项目创建了一个config文件,想要对这个config文件的某个节点下添加连接字符串。

  于是乎,开启了百度、谷歌之旅......

 

二、实现

  1.这是我创建的config文件内容,我想要在connectionStrings里添加连接字符串

1
2
3
4
5
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
    </connectionStrings>
</configuration>

  

  2.这是一个winform界面

  

 

  3.然后百度,发现很多都是对App.Config下的appSettings节点进行操作的,有点懵了,研究了一番,嘿,一样的,简单的很

   首先拿到文本框的内容,拼接成连接字符串

var connString = $"Data Source ={Servicetxt.Text};Initial Catalog={DataBasetxt.Text};User ID={LoginNametxt.Text};Password={Passwordtxt.Text}";

   

   然后再搞一个方法

复制代码
public bool SetConfigKey(string conn)
        {
       //获取包含当前执行的代码的程序集 Assembly assembly
= Assembly.GetExecutingAssembly(); try {
          //bin下面的配置文件
string path = string.Format("{0}.config", assembly.Location.Substring(0, assembly.Location.LastIndexOf(@"\") + 1) + @"App_Data\rdbs"); ExeConfigurationFileMap configFile = new ExeConfigurationFileMap() { ExeConfigFilename = path };
          //打开相关的配置文件 Configuration config
= ConfigurationManager.OpenMappedExeConfiguration(configFile, ConfigurationUserLevel.None);
          //拼接连接字符串配置文件节中的单个命名连接字符串 ConnectionStringSettings connSettings
= new("conn", conn, "System.Data.SqlClient"); //获取connectionStrings节点 ConnectionStringsSection connection = (ConnectionStringsSection)config.GetSection("connectionStrings"); //删除connectionString节点下的所有内容 connection.ConnectionStrings.Clear(); //向节点里添加内容 connection.ConnectionStrings.Add(connSettings);
          //保存修改的内容 config.Save(ConfigurationSaveMode.Modified); }
catch { return false; } return true; }
复制代码

  

  4.运行

    

     

    已经成功的加上一条了

     

 

三、总结

  很多东西还是不太清楚,不太熟练,遇到问题时,要有能独立解决问题的能力,尽量多思考,多动手。遇到不会的,百度谷歌,翻遍网络,总是会有答案的,山重水复疑无路,柳暗花明又一村。

  

作者:WangJianqiu

出处:https://www.cnblogs.com/WangJianqiu/p/16888577.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   六弦汤姆  阅读(1356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示