c# 读取*.exe.conifg文件中节点信息,输出到text控件中,可修改


 </configSections>
    <connectionStrings>
        <add name="Main" connectionString="server=170.168.1.2;database=K;uid=sa;pwd=sa@123" />
        <add name="detail" connectionString="server=170.168.1.4;database=K;uid=sa;pwd=sa@123" />
    </connectionStrings>
获取 mian节点和detail 将ip 数据库名 账户和 密码,输出到text控件种,获取和修改

使用SqlConnectionStringBuilder实例可读取到App.config配置文件中的连接字符串信息,先看效果:

img

核心示例代码如下:

private void btnRead_Click(object sender, System.EventArgs e)
{
    var conSettings = ConfigurationManager.ConnectionStrings["Main"];
    var conn = new SqlConnectionStringBuilder(conSettings.ConnectionString);
    txtDatabase.Text = conn.InitialCatalog;
    txtHost.Text = conn.DataSource;
    txtLoginName.Text = conn.UserID;
    txtPwd.Text = conn.Password;
}

private void btnSave_Click(object sender, System.EventArgs e)
{
    var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
    connectionStringsSection.ConnectionStrings["Main"].ConnectionString = $"server={txtHost.Text};database={txtDatabase.Text};uid={txtLoginName.Text};pwd={txtPwd.Text}";
    config.Save();
    ConfigurationManager.RefreshSection("connectionStrings");
    var conSettings = ConfigurationManager.ConnectionStrings["Main"];
    MessageBox.Show($"配置保存成功,当前值为:{conSettings.ConnectionString}");
}

配置文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
    <connectionStrings>
        <add name="Main" connectionString="server=170.168.1.2;database=K;uid=sa;pwd=sa@123" />
        <add name="detail" connectionString="server=170.168.1.4;database=K;uid=sa;pwd=sa@123" />
    </connectionStrings>
</configuration>

读取数据库,把内容显示在Textbox中?

读取:
System.Configuration.ConfigurationManager.ConnectionStrings["Main"].ConnectionString
System.Configuration.ConfigurationManager.ConnectionStrings["detail"].ConnectionString

然后用分号、等号分割字符串就能得到了
修改之后组装字符串
读取文件config 文件内容 找到 这两行 替换内容。保存文件。 就算改了程序不一定应用新配置。你还得回收应用程序池 或者重启站点