现在的位置: 首页 > 综合 > 正文

WinForm 创建与读写配置文件

2012年10月08日 ⁄ 综合 ⁄ 共 1803字 ⁄ 字号 评论关闭

1. 创建 app.config 文件:
右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。

image

出现在设计器视图中的app.config文件为:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

</configuration>

 

 

2. 在配置文件中配置节点,本文以 connectionStrings 为例:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <!--数据库连接字符串-->

  <connectionStrings>

    <add name="ConnectionToNorthwind" connectionString="Data Source=localhost;Initial Catalog=Northwind;UserID=sa;password=sa"

         providerName="System.Data.SqlClient"/>

  </connectionStrings>

</configuration>

 

 

3. 读取 connectionStrings 配置节:

要使用以下的代码访问 app.config 文件,除了 Useing System.Configuration 外,还必须在此项目添加对 System.Configuration.dll 的引用。

/// <summary>

/// 获取指定名称的数据库连接字符串

/// </summary>

/// <param name="connectionName">连接名</param>

/// <returns>连接字符串</returns>

private static string GetConnectionString(string connectionName)

{

    return ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();

}

 


4. 更新 connectionStrings 配置节:

///<summary> 

///更新连接字符串 

///</summary> 

///<param name="newName">连接字符串名称</param> 

///<param name="newConString">连接字符串内容</param> 

///<param name="newProviderName">数据提供程序名称</param> 

private static void UpdateConnectionString(string newName, string newConString, string newProviderName)

{

    // 将当前应用程序的配置文件作为 System.Configuration.Configuration 对象打开

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

 

    // 存在此连接,则先删除

    if (ConfigurationManager.ConnectionStrings[newName] != null)

    {

        config.ConnectionStrings.ConnectionStrings.Remove(newName);

    }

 

    // 新建一个连接字符串

    ConnectionStringSettings newConStr = new ConnectionStringSettings(newName, newConString, newProviderName);

 

    // 将新的连接字符串添加到配置文件中. 

    config.ConnectionStrings.ConnectionStrings.Add(newConStr);

 

    // 保存对配置文件所作的更改 

    config.Save(ConfigurationSaveMode.Modified);

 

    // 强制重新载入配置文件的ConnectionStrings配置节 

    ConfigurationManager.RefreshSection("ConnectionStrings");

}

抱歉!评论已关闭.