Ado.Net配置文件配置连接字符串的两种方式 以及一种封装连接字符串方式

配置文件配置连接字符串

对比之前的文档,每个对数据库的操作都要定义string类型的连接字符串,这样的操作在实际运用中不可用,将数据库连接写死了,代码迁移性较差,需要做大量修改。程序设计过程中对于已知的,可能发生变化的部分,需作出优化,尽可能的不修改代码或者少量修改代码。

 

优化连接字符串的方法:

1.将连接字符串以及一些操作封装到一个SqlHelper类的方法(修改少量代码)。

此方法不推荐使用。当把项目打包之后在只有安装包的情况下,就不可以对数据库连接做出修改,导致项目无法正常运行

using System;
using System.Data.SqlClient;

namespace ConnectionString
{
    public class GetConnStringHelper
    {
        public static string GetCurrentString()
        {
            return "server=.;uid=sa;pwd=123456;database=ars";
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string connText = GetConnStringHelper.GetCurrentString();//获取封住的连接字符串
            SqlConnection conn = new SqlConnection(connText);//创建数据库连接
            conn.Open();//打开数据库
            Console.WriteLine(conn.State);
            
        }
    }
}

 

2.将连接字符串写入配置文件中。

可以做到不该任何代码实现改变数据库连接。每个程序或者项目都有App.config文件,符合xml规范。通过配置文件的修改可以实时的影响程序。

 

连接字符串写入配置文件有以下两种方式:

  • 利用配置文件中一般存储数据的方式(基于运用程序的节点配置)
      <appSettings>
        <add key="SqlConn" value="server=.;uid=sa;pwd=123456;database=ars"/>
      </appSettings>
    

     

  • 在配置文件中微软提供专用配置节点(基于连接字符串的节点配置)
      <connectionStrings>
        <add name="SqlConText" connectionString="server=.;uid=sa;pwd=123456;database=ars"/>  </connectionStrings>
    

     

 

具体操作步骤:

添加完配置信息之后,还需要添加微软类库引用。具体实现如下:

 

完整代码:

App.config文件中的代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="SqlConText" connectionString="server=.;uid=sa;pwd=123456;database=ars"/>
  </connectionStrings>
  
  <appSettings>
    <add key="SqlConn" value="server=.;uid=sa;pwd=123456;database=ars"/>
  </appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>

 

运行代码:

 

​
using System;
using System.Configuration;
using System.Data.SqlClient;

namespace ConConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            //*******配置运用程节点序方式*******//
            //获取配置文件AppSettings中存储的数据
            Console.WriteLine("方式一");
            string sqlText1=ConfigurationManager.AppSettings["SqlConn"].ToString();
            Console.WriteLine(sqlText1);
            SqlConnection conn = new SqlConnection(sqlText1);
            conn.Open();
            Console.WriteLine(conn.State);
            conn.Close();
            Console.WriteLine(conn.State);
            Console.WriteLine();


            //*******配置连接字符串节点方式*******//
            Console.WriteLine("方式二");
            string sqlText2 = ConfigurationManager.ConnectionStrings["SqlConText"].ToString();   //获取配置文件中存储的数据
            Console.WriteLine(sqlText1);
            SqlConnection con = new SqlConnection(sqlText1);
            conn.Open();
            Console.WriteLine(conn.State);
            conn.Close();
            Console.WriteLine(conn.State);
            Console.ReadKey();
        }
    }
}

​

运行结果:

 

 

连接字符串写入配置文件总结:

  1. 将连接字符串写入配置文件
  2. 添加类库引用
  3. 在主程序代码中添加using System.Configuration
  4. 调用ConfigurationManager类获取连接字符串

 

注:只有在控制台程序和winform运用中需要调用类库。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值