新聞發布系統,SQLHelper重構

2021-09-23 21:35:34 字數 1341 閱讀 5920

在清楚把握牛腩新聞發布系統的需求,以及對系統的資料庫也做好了相應的設計後,接下來的幾天裡就是對後台**的編寫。

相信大家都不會忘記機房重構中我們的乙個好助手,那就是sqlhelper。

在機房重構的時候,看了很多部落格,大家都用上了,也都覺得好用,我也就直接借鑑而來。在自己一步一步除錯的時候,在自己的程式出現bug的時候,真的發現sqlhelper的好處多多。但自己也沒有去認真研究過這樣乙個類究竟是怎麼寫出來的。

首先清楚對於資料庫的操作,抽象後講,也就是五步:連線——開啟——執行——關閉——返回。

在用物件導向c#語言程式設計中,建構函式就是用來進行初始化的工具。所以,連線資料庫的**為:

public sqlhelper()

下面是對連線狀態做判斷,如果為關閉,則將其開啟:
private sqlconnection getconn()

return conn;

}

在資料庫做完前兩項工作後,便可以開始執行其他對於使用者想執行的任何增刪改查的操作。就拿乙個執行無引數的查詢的操作來說,**如下:
public datatable executequery(string sql)

從上面的**可以看到,每執行乙個具體的操作,都還需要把連線-開啟-關閉這三步的**加上,我們便可對其進行封裝,下面便開始對sqlhelper類進行重構。

第一,從連線說起,在d層中寫的**是具體指明連線哪個資料庫,連線哪個伺服器,但如果我們想要更換乙個資料庫,那就必須跑到d層下修改之前編寫好的**,這是不符合開閉原則的。

所以解決這一問題,我們加上配置檔案,使連線的那一長串**用乙個字串變數表示,如果更換資料庫,只需要到配置檔案中新增相應的**就行。

配置檔案中**:

資料庫連線**:

public sqlhelper ()

第二,仍舊是對資料庫狀態進行判斷,這裡沒做什麼改動。

第三,對資料庫進行各類操作,仍舊以乙個執行無引數的查詢操作為例,代

碼如下:

public datatable executequery(string cmdtext, commandtype ct)

//關閉

return dt;

}

從上面的**來看,這就比第一次的sqlhelper簡單了許多,其它型別的操作也像這樣做,乙個sqlhelper也就寫好了。

學習心得:

新聞系統 SQLHelper助手優化

在前面我們機房重構的時候已經用過了sqlhelper,但當時就是只會應用,知道利用sqlhelper能夠幫助我們連線資料庫,但對於怎樣書寫還是不太清楚,今天就揭開這層神秘的面紗,來真正體驗如何來編寫sqlhelper助手。sqlhelper就是訪問資料庫的,執行的語句就是sql語句或者儲存過程,接下...

新聞發布系統!

晨曦 荒微涼 1.首先我們要在newsdao中建立乙個方法,返回list集合,其中pageindex表示當前頁,pagesize表示新聞數量 public listgetselect int pageindex,int pagesize 2.newsdaoimpl類實現了newsdao,所以自然繼承...

新聞發布系統

同志們碰到乙個 return con 執行查詢操作 目的 返回乙個讀取器 param sql sql語句 param objs 引數列表 return 讀取器物件 throws exception public resultset executequery string sql,object.obj...