日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

三层架构与四大天王之——查

發(fā)布時間:2025/3/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层架构与四大天王之——查 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ?上次我們說到了。怎樣利用三層架構(gòu)去數(shù)據(jù)庫中刪除數(shù)據(jù)。這次我們就來談?wù)勅绾稳?shù)據(jù)庫中查找數(shù)據(jù)。事實上在上篇文章中也涉及到了查找,但那是將整個表中的記錄都顯示出來,而我們這次來查找我們所須要的某一條記錄。

? 1、UI層

?首先是界面,還記得我們第一次加入的“王菲”的那條記錄嗎。今天我們就將它查出來

private void button1_Click(object sender, EventArgs e){//實例化一個模型對象,用來向D層傳遞信息Login.Model.UserInfo user = new Login.Model.UserInfo();//實例化一個模型對象。用來從D層接受信息Login.Model.UserInfo User = new Login.Model.UserInfo();//講參數(shù)傳給該對象user.UserName = txtUserName.Text.Trim();//實例化B層UserQuery.BLL.QueryBLL userQ = new UserQuery.BLL.QueryBLL ();try{//將該對象傳給B層處理User = userQ.UserQuery(user);}catch(Exception ex){MessageBox.Show(ex.Message);return;}txtInformation.Text = "用戶ID:" + User.ID + "\r\n" + "用戶姓名:" + User.UserName + "\r\n" + "用戶password:" + User.Password + "\r\n" + "用戶Email:" + User.Email;}}

? ? 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(); //用于處理數(shù)據(jù)庫//推斷username是否存在cmd.CommandText = @"SELECT * FROM USERS WHERE UserName=@UserName";//獲得查詢語言cmd.CommandType = CommandType.Text;//加入查詢語言中的參數(shù)cmd.Parameters.Add(new SqlParameter("@UserName", user.UserName));conn.Open();//查詢并返回結(jié)果SqlDataReader reader = cmd.ExecuteReader();//聲明一個返回實例Login.Model.UserInfo User = new Login.Model.UserInfo(); try{//假設(shè)username存在。就返回用戶信息if (reader.Read()){//獲取用戶信息User.ID = reader.GetInt32(0);User.UserName = reader.GetString(1);User.Password = reader.GetString(2);//假設(shè)郵箱不為空,則取出if (!reader.IsDBNull(3)){User.Email = reader.GetString(3);}}else{//假設(shè)不存在,就拋出錯誤throw new Exception("該用戶不存在。"); }//斷開連接conn.Close();}catch (Exception ex){throw ex; //將錯誤信息拋給D層處理}return User; //返回用戶信息}}

? ? 4、結(jié)果

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? 5、小結(jié)

? ? ? 這次簡單的查詢過程就跟寄信似的,首先我們(U層)要將寫好的信裝入信封(即將username傳入實體)。然后交給郵遞員(B層)處理,最后到達(dá)收信人(D層)手中。經(jīng)過收信人的處理,將其回信(要返回的信息)再次裝入信封(返回實體)。然后再由郵遞員寄給我們,這樣我們就能依據(jù)回信,做出對應(yīng)的處理。

當(dāng)然。假設(shè)這個過程出現(xiàn)什么錯誤,郵遞員也會告知我們,像這樣,我們通過郵遞員就行實現(xiàn)方便的交流,通過我們的合作就行將一個復(fù)雜的工作做得井然有序。因此,我相信。僅僅要我們大家一起努力,這個世界一定變得更加美好。






轉(zhuǎn)載于:https://www.cnblogs.com/gccbuaa/p/7233585.html

總結(jié)

以上是生活随笔為你收集整理的三层架构与四大天王之——查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。