"增刪查改"來一遍
有前面的基礎,本節將對“增刪查改”操作一遍,這樣既方便大家熟悉三層架構的流程脈絡,也對新手起到鞏固的效果。
與數據庫相關的軟件開發,無外乎是對數據的增刪查改,在此,在之前的例子上實現這些操作。
增加Insert
我們在數據庫的存儲過程,已經有了自己的SQL增加語句。本例是在if @type=’ Insert_User’下。
1.在前台代碼加入兩個Lable、兩個TextBox和一個Button控件。
2.添加Button點擊(Click)事件,事件簡單的理解就是你執行的操作希望執行什么樣的代碼。點中Button控件,查看它的屬性,在“事件”目錄下,雙擊“Click”右邊空白,即可生成事件。
雙擊后,會自行跳轉到后台代碼,在后台代碼中,多出了一段代碼,即是事件處理函數(點擊Button按鈕所要發生的事情在函數體內執行,當然服務器控件點擊事件就不單單只是執行函數體內的內容了)。
3.我們既然要將新增的數據插入數據庫,首先必須要獲取兩個TextBox中的文本。編寫獲取TextBox文本的語句,並將其賦值給兩個變量。
string userName = this.TextBox1.Text.ToString().Trim();//獲取新增名稱 string age = this.TextBox2.Text.ToString().Trim();//獲取新增年齡
4.有數據了,我們需要將數據傳回數據庫,此時我們要和BLL層打交道了。首先在BLL_Index中添加如下代碼。
1 /// <summary> 2 /// 增加 3 /// </summary> 4 /// <param name="userName"></param> 5 /// <param name="age"></param> 6 public static void Insert_User(string userName, string age) 7 { 8 SqlParameter[] SQLCMDpas ={ 9 new SqlParameter("@type",SqlDbType.Char), 10 new SqlParameter("@UserName",SqlDbType.Char), 11 new SqlParameter("@Age",SqlDbType.Int), 12 }; 13 SQLCMDpas[0].Value = "Insert_User"; 14 SQLCMDpas[1].Value = userName; 15 SQLCMDpas[2].Value = age; 16 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 17 }
可發現,增加的方法與查詢的方法略有不同。
返回值不再是DataTable,因為Insert操作不需要返回值;函數有了參數,注意對於相關參數的編寫和含義,有必要可回顧一下之前的講述;調用DAL中的方法改成了DAL_OPTableDB_Par。
BLL層的代碼編寫完畢,回到aspx的后台代碼,此時我們要將TextBox獲取到的值傳遞到BLL層,調用BLL的方法執行插入數據的操作。
增加操作完畢,點擊“F5”啟動調試。輸入數據
點擊“增加”,如無意外,增加成功。停止調試,重新點擊“F5”重新啟動調試,即可看到
當然該例子實現了增加的操作,但應該是增加成功后自行刷新頁面顯示新數據,但本例的目的是實現增加數據的操作,有興趣的可以試試,增加數據成功后,自行刷新重新查詢顯示數據。
修改Update
在進入修改操作講述時,增加操作時,沒有及時刷新數據,可以將Page_Load中的查詢數據寫成一個方法獨立出來,這樣在再調用方法,起到刷新的效果。
修改操作和增加操作大同小異,前台添加三個Label、三個TextBox和一個Button,目的:填寫用戶Id(必須存在哦),然后填寫修改的名稱和年齡,點擊“修改”,實現修改操作。
添加修改操作點擊事件,獲取修改內容。
BLL添加方法,修改和增加操作區別不大。
1 /// <summary> 2 /// 修改 3 /// </summary> 4 /// <param name="userId">用戶Id</param> 5 /// <param name="userName">名稱</param> 6 /// <param name="age">年齡</param> 7 public static void Update_User(string userId,string userName, string age) 8 { 9 SqlParameter[] SQLCMDpas ={ 10 new SqlParameter("@type",SqlDbType.Char), 11 new SqlParameter("@UserId",SqlDbType.Int), 12 new SqlParameter("@UserName",SqlDbType.Char), 13 new SqlParameter("@Age",SqlDbType.Int), 14 }; 15 SQLCMDpas[0].Value = "Update_User"; 16 SQLCMDpas[1].Value = userId; 17 SQLCMDpas[2].Value = userName; 18 SQLCMDpas[3].Value = age; 19 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 20 }
回到aspx頁面后台代碼,添加對BLL層方法的調用。
1 /// <summary> 2 /// 修改操作點擊事件 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 protected void Button2_Click(object sender, EventArgs e) 7 { 8 string userId = this.TextBox3.Text.ToString().Trim();//獲取修改userId 9 string userName = this.TextBox4.Text.ToString().Trim();//獲取修改的名稱 10 string age = this.TextBox5.Text.ToString().Trim();//獲取修改的年齡 11 BLL.BLL_Index.Update_User(userId, userName, age);//調用BLL層修改的方法 12 Binding();//刷新頁面數據 13 }
修改操作完畢,點擊“F5”啟動調試。輸入數據,如圖
點擊“修改”按鈕,如無意外,修改成功。
刪除Delete
還是和前面一樣,在前台頁面添加一個Label、一個TextBox和一個Button,如圖
添加“刪除”按鈕點擊事件,並獲取TextBox獲取的用戶Id賦值變量。
BLL添加方法
1 /// <summary> 2 /// 刪除 3 /// </summary> 4 /// <param name="userId">用戶Id</param> 5 public static void Delete_User(string userId) 6 { 7 SqlParameter[] SQLCMDpas ={ 8 new SqlParameter("@type",SqlDbType.Char), 9 new SqlParameter("@UserId",SqlDbType.Int), 10 }; 11 SQLCMDpas[0].Value = "Delete_User"; 12 SQLCMDpas[1].Value = userId; 13 DAL.PublicMethod.DAL_OPTableDB_Par("Index", SQLCMDpas); 14 }
回到后台添加BLL方法調用
1 /// <summary> 2 /// 刪除操作點擊事件 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 protected void Button3_Click(object sender, EventArgs e) 7 { 8 string useId = this.TextBox6.Text.ToString().Trim();//獲取刪除userId 9 BLL.BLL_Index.Delete_User(useId);//調用BLL層刪除的方法 10 Binding();//刷新頁面數據 11 }
刪除操作完畢,點擊“F5”啟動調試。
輸入需要刪除的用戶Id,點擊“刪除”按鈕,如無意外,刪除成功。
至此,對數據的基本操作(增刪查改)都實現了,對數據的操作,都離不開這些,當然對數據的操作形式是千變萬化的,如何處理一些復雜的操作,那需要時間的積累,在不同需求下有不同的操作,在不斷積累下進步,We live and learn。
上一講:ASP.NET簡易教程5——三層架構與非三層架構的優缺點比較
鑒於個人能力有限,如果發現錯漏地方,歡迎指點。
著作權聲明:本文由http://www.cnblogs.com/suguoqiang 原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!