三層架構簡介:
三層架構(3-tier architecture) 通常意義上的三層架構就是将整個業務應用劃分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、資料通路層(Data access layer)。區分層次的目的即為了“高内聚低耦合”的思想。在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分别為:資料通路層、業務邏輯層(又或稱為領域層)、表示層。
步驟如下:
1.建立一個空白解決方案,起好結局方案名稱.
2.右擊解決方案,選擇C#語言 ==> 類庫 ,起好類庫名稱. 比如:BookShop.MODEL(資料互動層).
3.重複第二步,依次建出DLL層,BAL層. 比如:BookShop.BLL(業務邏輯層),BookShop.DAL(資料通路層).
4.右擊解決方案,選擇C#語言 ==> Windows 窗體應用程式. 比如:BookShop.UI(表示層).
5.依次删除BLL,DAL,MODEL層中的Class1,然後右鍵 ==> 添加 ==> 建立項 ==> 類,并将其命名.(删除後添加是為了按照一定的命名規則調用,不會使自己誤用Class1).
BLL層以Manager結尾(例:UserManager),DAL層以Service結尾(例:UserService),MODEL層的名與資料庫中的表名一緻(例:Users).
6.添加引用,UI層引用 BLL MODEL , BLL層引用 DAL MODEL , DAL層引用 MODEL , 都是向下引用的.
7.在DAL層建立個SqlHelper類,用于連接配接資料庫使用的.
8.MODEL層主要負責參數的取值和指派,參數應該和資料庫表中的列對應起來.
public string UserId { get; set; } == private string UserId;
public string id
{
get{ return ID; }
set{ ID = value;}
}
9.想實作兩個類互相調用需要三點:添加引用,聲明命名空間,public修飾.
10.寫代碼首先從DAL層,BLL層,UI層依次寫入.(建議)
11.一些ADO.NET對象介紹
Connection : 用于連接配接資料庫指令.
Command : 執行針對資料庫的SQL指令.
ExecuteScalar() : 傳回第一行第一列的值(object類型).
ExecuteNonQuery() : 傳回執行指令後受到影響的行數(int類型).
ExecuteReader() : 傳回結果集的SQL語句、存儲過程,并存放在DataReader類型的對象.
DataReader : 不能寫入,并且隻能從頭至尾往下讀,逐行讀取的特性.
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read()) ==>所有的資料放到reader裡
{
listBox1.Items.Add(reader.GetValue(0));
}
DataAdapter : 直接顯示表格可以考慮使用!
DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
adpt.Fill(ds);
dt = ds.Tables[0];
DataSet : 表的集合.
DataSet ds = new DataSet();
DataTable : 單個表.
DataTable dt = ds.Tables[0]; ==>取DataSet中的第一個表;
DataRow : 取單行.
DataRow dr = dt.Rows[0]; ==> 取dt表中的第一行記錄;
SqlParameter : 可了解為是個數組,數組的元素起占位符作用.
string sql = "select * from users where loginId=@loginId and LoginPwd=@pass";
SqlParameter[] pars = new SqlParameter[2]; ==> 定義兩個數組長度
pars[0] = new SqlParameter("@loginId", loginId); ==> 第一個元素
pars[1] = new SqlParameter("@pass", password);
DataTable dt= SqlHelper.ExecuteDataTable(sql, CommandType.Text, pars); ==> 把參數傳到SqlHelper類ExecuteDataTable的方法