三层架构与四大天王之——查
生活随笔
收集整理的這篇文章主要介紹了
三层架构与四大天王之——查
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ?上次我們說到了。怎樣利用三層架構去數據庫中刪除數據。這次我們就來談談如何去數據庫中查找數據。事實上在上篇文章中也涉及到了查找,但那是將整個表中的記錄都顯示出來,而我們這次來查找我們所須要的某一條記錄。
? 1、UI層
?首先是界面,還記得我們第一次加入的“王菲”的那條記錄嗎。今天我們就將它查出來
? ? 2、BLL層
public class QueryBLL{public Login.Model.UserInfo UserQuery(Login.Model.UserInfo user){//實例化D層UserQuery.DAL.QueryDAL UserQD = new UserQuery.DAL.QueryDAL();//實例化用戶Login.Model.UserInfo User = new Login.Model.UserInfo();try{//讓D層推斷信息是否正確User = UserQD.QueryDao(user);}catch(Exception ex){throw ex;//將錯誤信息拋給U層}//返回用戶信息return User;}}? ? 3、DAL層
public Login.Model.UserInfo QueryDao(Login.Model.UserInfo user){using (SqlConnection conn=new SqlConnection(DBUtil.ConnString)){SqlCommand cmd = conn.CreateCommand(); //用于處理數據庫//推斷username是否存在cmd.CommandText = @"SELECT * FROM USERS WHERE UserName=@UserName";//獲得查詢語言cmd.CommandType = CommandType.Text;//加入查詢語言中的參數cmd.Parameters.Add(new SqlParameter("@UserName", user.UserName));conn.Open();//查詢并返回結果SqlDataReader reader = cmd.ExecuteReader();//聲明一個返回實例Login.Model.UserInfo User = new Login.Model.UserInfo(); try{//假設username存在。就返回用戶信息if (reader.Read()){//獲取用戶信息User.ID = reader.GetInt32(0);User.UserName = reader.GetString(1);User.Password = reader.GetString(2);//假設郵箱不為空,則取出if (!reader.IsDBNull(3)){User.Email = reader.GetString(3);}}else{//假設不存在,就拋出錯誤throw new Exception("該用戶不存在。"); }//斷開連接conn.Close();}catch (Exception ex){throw ex; //將錯誤信息拋給D層處理}return User; //返回用戶信息}}
? ? 4、結果
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 5、小結
? ? ? 這次簡單的查詢過程就跟寄信似的,首先我們(U層)要將寫好的信裝入信封(即將username傳入實體)。然后交給郵遞員(B層)處理,最后到達收信人(D層)手中。經過收信人的處理,將其回信(要返回的信息)再次裝入信封(返回實體)。然后再由郵遞員寄給我們,這樣我們就能依據回信,做出對應的處理。
當然。假設這個過程出現什么錯誤,郵遞員也會告知我們,像這樣,我們通過郵遞員就行實現方便的交流,通過我們的合作就行將一個復雜的工作做得井然有序。因此,我相信。僅僅要我們大家一起努力,這個世界一定變得更加美好。
轉載于:https://www.cnblogs.com/gccbuaa/p/7233585.html
總結
以上是生活随笔為你收集整理的三层架构与四大天王之——查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数调用栈
- 下一篇: Windows中常用的函数调用规范