數據訪問層的第一種實現:Access SQL_.Net教程
推薦:依賴注入機制及IoC的設計與實現我們設計的分層架構,層與層之間應該是松散耦合的。因為是單向單一調用,所以,這里的“松散耦合”實際是指上層類不能具體依賴于下層類,而應該依賴于下層提供的一個接口。這樣,上層
經過上面篇文章的介紹,整個系統的框架算是基本搭建完了,下面,我們要具體實現各個層次。關于數據訪問層的實現,我準備討論三種實現方式,這一篇文章討論第一種:Access 動態生成SQL。
顧名思義,這種實現將使用Access作為后臺數據庫,而操作方式也是最基本的使用SQL命令。
在具體編寫實現代碼之前,我們需要做一些準備工作:
第一步,我們要將Access數據庫搭建完成,具體做法如下。
在Web工程下新建一個文件夾,命名為AccessData,并在其中新建一個mdb文件(即Access數據庫文件),按照前面介紹過的數據庫設計構架,將數據表及表間關系建好,這里不再贅述。
第二步,我們要進行一些配置。
打開Web工程下的Web.config文件,在其中的appSettings節點下,添加如下鍵值:
| <add key="AccessConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={DBPath}"/> <add key="AccessPath" value="~/AccessData/AccessDatabase.mdb"/> |
第一條為Access的連接字符串,第二條為Access數據庫文件的路徑,其中“~”表示網站根目錄。
第三步,新建一個工程。
我們要新建一個工程AccessDAL,用來存放Access數據訪問層的代碼。
準備工作做完了,現在來實現具體的代碼。
1.編寫數據訪問助手類
因為很多數據訪問操作流程很相似,所以,這里將一些可復用的代碼抽取出來,編寫成助手類,以此減少代碼量,提高代碼復用性。
這個助手類放在AccessDAL下,叫AccessDALHelper,主要負責Access數據庫的訪問。它包括三個方法:
GetConnectionString:從配置文件中讀取配置項,組合成連接字符串。
ExecuteSQLNonQuery:執行指定SQL語句,不返回任何值,一般用于Insert,Delete,Update命令。
ExecuteSQLDataReader:執行SQL語句返回查詢結果,一般用于Select命令。
具體代碼如下:
|
using System; CacheDependency fileDependency = new CacheDependency(HttpContext.Current.Server.MapPath("Web.Config")); return connectionString.Replace("{DBPath}", dbAbsolutePath); /**//// <summary> for (int i = 0; i < parameters.Length; i ) connection.Open(); /**//// <summary> for (int i = 0; i < parameters.Length; i ) connection.Open(); return dataReader; |
分享:近期的幾個ASP.NET開發經驗總結和收集一:頁面中Page_Load事件 和 Page.IsPostBack執行兩次的原因.
原因一:
當<%@Page....中沒有AutoEventWireup定義時會導致Page_Load執行兩次,如果有定義,且值為true時,在IsPostBack中動態
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-數據訪問層的第一種實現:Access SQL
。