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運用中需要調用類庫。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章