1. 程式人生 > >【C#】之SqlHelper類+配置檔案?

【C#】之SqlHelper類+配置檔案?

說說

在上一篇的七層登陸中,我們簡單的說了sqlhelper層的作用,簡單來講就是將資料訪問層中涉及到與資料庫操作的程式碼,全部封裝到一個類當中,這樣一來,涉及到資料訪問時,直接呼叫裡面的程式碼即可,減少了程式碼量。

當然在七層登陸中我們也講到了配置檔案與反射,它位於工廠層,通過App.config配置好要訪問的程式集,工廠層呼叫這個程式集,並通過反射,將需要的具體類從程式集中反射出去。

配置檔案與反射可以一起並用,當然也可以分開,因為他們兩個並沒有什麼太大的關聯。其實為了讓sqlhelper類能夠更好的封裝,即當我更改連結的資料庫時,也完全不會影響到這個類的時候,我們就可以再次應用配置檔案。這時候配置檔案中寫入的就可以是我們連結資料庫的語句,並賦值給一個字串,SQL helper層要連結資料庫時,直接連結配置檔案中的關鍵字就可以了,如果我們要更改資料庫的連結,只在配置檔案中更改,這樣以來SQL helper就完全獨立出來了。

配置檔案:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
    
  <appSettings>
  
  	<!這裡的配置檔案使用來進行具體類的反射的>
    <add key="DB" value="DAL"/>
    
     <!-- 這裡的配置檔案是用來連結資料庫的,在XML配置檔案中寫入連結資料庫的程式碼,方便打包後其他的電腦進行資料連線,
    其他的電腦只需要在這裡把關鍵資訊改變為他的資料庫名稱便可使用,不用在需要重新生成等操作-->
    <add key="connStr" value=" Server=DESKTOP-LALQ1LJ;Database=JFCharge;User ID=sa; Password=123456"/>
    
  </appSettings>
</configuration>

SQL helper類中連結資料庫,呼叫字串:

 /// <summary>
        /// 資料庫連線
        /// </summary>
        public SQLHelper()//建構函式
        {
            string connStr = ConfigurationManager.AppSettings["connStr"];//ConnStr配置檔案中連線資料庫的關鍵字(字串)
           conn = new SqlConnection(connStr); //例項化一個連線
        }

配置檔案

那麼說了這麼多,到底什麼是配置檔案呢?度娘和我說“是在使用者登陸電腦時,或是使用者在使用軟體時,軟體系統為使用者所要載入所需環境的設定和檔案的集合。” 他最重要的功能就是將命令列選項和配置檔案選項統一到一種資料結構中,這樣的話可以在外部設定引數,而無須修改程式碼來達到我們想要的效果。

應用程式配置檔案是標準的XML檔案(XML檔案是可擴充套件標記語言,主要進行資料傳輸與儲存,極其簡單,易於在任何應用程式中讀寫資料),他的根節點是Configuration,所以我們在其他類中應用配置檔案時,要新增引用(system.configuragion)

配置檔案中多以鍵值對存在的(key與value),key值是我們所設定的關鍵字,當其他類呼叫是使用;value值是我們真正要讀取的內容。

1/新增配置檔案app.config

右擊專案名稱,選擇“新增”→“新增新建項”,在出現的“新增新項”對話方塊中,選擇“新增應用程式配置檔案”;如果專案以前沒有配置檔案,則預設的檔名稱為“app.config”,單擊“確定”。出現在設計器檢視中的app.config檔案為:
在這裡插入圖片描述

在這裡插入圖片描述

在專案進行編譯後,在bin\Debuge檔案下,將出現兩個配置檔案(以本專案為例),一個名為“UI.exe”,另一個名為“UI.vshost.exe”。第一個檔案為專案實際使用的配置檔案,在程式執行中所做的更改都將被保存於此;第二個檔案為原始碼“app.config”的同步檔案,在程式執行中不會發生更改。
在這裡插入圖片描述

接下來就是對配置檔案的內部書寫和外部呼叫了,附上一片部落格,大家可以參考一下C#中配置檔案的使用

SQL helper類

除去連結資料庫和獲取配置檔案,其他的就是對資料庫操作方法的封裝了,在網上找了一篇微軟官方的SQL helper類(含完整中文註釋) ,當然更重要的還是要自己去理解程式碼的意思,以及程式碼中各種方法的應用。

如有侵權請馬上告知!!