freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

課程設(shè)計(jì)---物流配送管理系統(tǒng)(存儲(chǔ)版)

  

【正文】 ach(int tmp in list){} foreach(string tmp in list){} foreach(Class1 tmp in list){} 可見(jiàn),使用泛型集合和使用普通的數(shù)組沒(méi)有區(qū)別,而且泛型還為 我們小組 們統(tǒng)一了數(shù)據(jù)類型。 (true)。 //這時(shí)程序會(huì)提示語(yǔ)法錯(cuò)誤,因?yàn)橐?list的集合必須是 Class1的對(duì)象。 (1)。 如果這時(shí)對(duì) array對(duì)象中的元素進(jìn)行加和,并得到結(jié)果時(shí),就會(huì)出現(xiàn)數(shù)據(jù)類型不統(tǒng)一的異常錯(cuò)誤。 (3)。 當(dāng) 我們小組 們需要對(duì)數(shù)組長(zhǎng)度的動(dòng)態(tài)增長(zhǎng),對(duì)于這種定義方式是不可行的,這時(shí)就會(huì)想到 Array、ArrayList。 Public int Execute(CommandType type, string mand, SqlParameter[] para) { OpenDatabase(type, mand, para)。需要注意的是 SqlCommand 所接受的 Parameter 并不是數(shù)組,而是SqlParameterCollection 對(duì)象,因此 我們小組 們需要將 SqlParameter 數(shù)組對(duì)象添加到這個(gè) Collection 中。 private SqlParameter adap = new SqlParameter()。由于 DAL 負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互,為了減少代碼重寫(xiě),提高數(shù)據(jù)庫(kù)的操作, 我們小組 們將數(shù)據(jù)庫(kù)的操作過(guò)程寫(xiě)在一個(gè)名為 DatabaseControl的類中。因此表現(xiàn)層需要在基礎(chǔ)框架上建立三個(gè)工程: CommonModel、 DAL、 BLL。 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 ICycle cyc=new ()。 這時(shí),就需要在文本框的文本改變事件中書(shū)寫(xiě)搜索顧客信息的代碼: private void textBox1_TextChanged(object sender, EventArgs e) { ()。 } else { (顧客創(chuàng)建失敗! )。操作成功后隱藏 GroupBox控件。 = true。 = false。 = ()。 } else { (區(qū)域修改失??! )。 if ((, )) { (區(qū)域新建成功! )。 = true。 = false。 = tmp。 =新建區(qū)域 。 = 。 } } public string GuestDesc { get { return guestDesc。 public Guid GuestID { get { return guestID。 using 。%39。%39。%39。所以采用三層的架構(gòu)模式,不僅調(diào)理清晰,組員分工明確完成的效率也會(huì)提高。 通過(guò)這一具體問(wèn)題的分析、設(shè)計(jì)與實(shí)現(xiàn),將 理論與應(yīng)用相結(jié)合,學(xué)會(huì)如何把書(shū)本上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)動(dòng)手能力。 業(yè)務(wù)邏輯層 :將表現(xiàn)層的數(shù)據(jù)解析成數(shù)據(jù)層的數(shù)據(jù)模型,并傳遞給數(shù)據(jù)層。 ( 二 )數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)物流管理系統(tǒng)的需求分析,可見(jiàn)在功能上分為:區(qū)域信息管理、顧客信息管理、物流配送管理和信息查詢。 + GuestName + 39。 + GuestAddress + 39。 +convert(varchar(50), AresID)+ 39。 private string guestName = 。 } set { guestName = value 。 } set { areaID= value。 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 區(qū)域管理窗口 —— FArea 窗體控件布局 根據(jù)需求分析,在區(qū)域管理的功能上,只需要做到增、刪、 查即可,不需要為區(qū)域管理添加其他功能,因此可將區(qū)域管理功能的界面設(shè)計(jì)如圖所示界面: 業(yè)務(wù)邏輯的功能統(tǒng)計(jì) 根據(jù)界面的設(shè)計(jì), 我們小組 們知道該功能需要: 查詢出目前所有區(qū)域的信息 創(chuàng)建區(qū)域信息 修改區(qū)域信息 刪除區(qū)域信息 操作邏輯 窗體加載成功后,通過(guò)查詢功能將區(qū)域信息加載到內(nèi)存,并在區(qū)域信息的數(shù)據(jù)源列表中的第一個(gè)位置新增具有“新建區(qū)域”信息的區(qū)域項(xiàng)目; 單擊“創(chuàng)建”按鈕,則調(diào)用業(yè)務(wù)邏輯層的創(chuàng)建方法,并傳遞區(qū)域名和區(qū)域描述兩個(gè)文本框的內(nèi)容; 單擊“修改”按鈕,則調(diào)用業(yè)務(wù)邏輯層的修改方法,并傳遞區(qū)域編號(hào)、區(qū)域名、區(qū) 域描述; 單擊“刪除”按鈕,則調(diào)用業(yè)務(wù)邏輯層的刪除方法,并傳遞區(qū)域編號(hào); 單擊“取消”按鈕,則使區(qū)域信息框隱藏,既 Visible=false。 ()。 } 雙擊 ListView操作 雙擊 ListView后,可能引發(fā)的三種情況: 代碼如下: if ( != 0) { TArea area = (TArea)[0].Tag。 = area。 = area。 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 } 單擊修改 單擊修改后,由于需要與數(shù)據(jù)庫(kù)進(jìn)行交互,因此需要通過(guò)業(yè)務(wù)邏輯層的方法來(lái)修改,在修改之前,需要對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的驗(yàn)證,例如是否為空,數(shù)據(jù)是否有效等: if ( == ) { (區(qū)域名稱不能為空! )。 = false。 = 。 = 。 } } 切換 RadioButton 可設(shè)計(jì)為:?jiǎn)螕魝€(gè)人家庭 RadioButton 時(shí),第一個(gè) Panel 可用,第二個(gè) Panel 不可用;單擊個(gè)體商戶RadioButton時(shí),第一個(gè) Panel不可用,第二個(gè) Panel可用 private void rdoHome_CheckedChanged(object sender, EventArgs e) { = true。 string Address = + , + + , + 。 } else { (顧客修改失??! )。 = list。 在信息收集完成后,單擊“添加”按鈕時(shí),將各個(gè)數(shù)據(jù)傳遞給業(yè)務(wù)邏輯層,所以需要建立接口: bool AddCycle(Guid, Guid, string, float, DateTime, DateTime, string) 并在單擊添加時(shí),執(zhí)行 BLL的該方法 IGuestCycle gc = new ()。 業(yè)務(wù)邏輯開(kāi)發(fā)員只需要將 BLL實(shí)現(xiàn)即可。所以, 我們小組 們除了定義數(shù)據(jù)庫(kù)連接器( SqlConnection)、數(shù)據(jù)命令器 (SqlCommand)和數(shù)據(jù)適配器 (SqlDataAdapter)外,還需要建立公開(kāi)方法: Executed方法所有需要執(zhí)行數(shù)據(jù)庫(kù)操作的,都必須調(diào)用 Execute來(lái)執(zhí)行 SQL語(yǔ)句或存儲(chǔ)過(guò)程。 } public int Execute(CommandType type, string mand, SqlParameter[] para) { } public IList Execute(CommandType type, string mand, SqlParameter[] para) { } private void OpenDatabase() { if ( != ) 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 { ()。 = conn。 return rtn。 (4)。 關(guān)于泛型: 在過(guò)去, 我們小組 們定義數(shù)組: int[] array = new int[]{1,2,3,4}。 (1)。 (true)。 這三個(gè) list 不但具備了數(shù)組長(zhǎng)度的動(dòng)態(tài)增長(zhǎng),還要求了數(shù)據(jù)類型的統(tǒng)一 (當(dāng)然, ListObject不在考慮范圍之內(nèi),因?yàn)? Object 是所有類型的基類) 使用泛型集合: foreach(int tmp in list){} foreach(string tmp in list){} foreach(Class1 tmp in list){} 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 可見(jiàn),使用泛型集合和使用普通的數(shù)組沒(méi)有區(qū)別,而且泛型還為 我們小組 們統(tǒng)一了數(shù)據(jù)類型。 (new Class1())。 using 。 private SqlCommand m = new SqlCommand()。 } } public void Close() 吉林省經(jīng)濟(jì)管理干部學(xué)院 吉林經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 { ()。 DataTable dt = new DataTable()。那么上述代碼中的 TArea的部分是否可以通過(guò)泛型來(lái)定義,也就是讓 T來(lái)代替 TArea? Public listT ExecuteT (CommandType type, string mand, SqlParameter[] para) { ListT list = new ListT()。 } 當(dāng) 我們小組 們需要執(zhí)行這個(gè) Execute的時(shí)候,就需要寫(xiě)如下的代碼: ListTArea list=ExecuteTArea(?? ) 為每個(gè)數(shù)據(jù)對(duì)象定義屬性賦值索引類 —— T***RowMapper 接下來(lái),就需要為每個(gè)數(shù)據(jù)模型處理他們屬性上的賦值,既 SetData方法。 使用接口和泛型方法將 RowMapper與 Execute中調(diào)用 SetData部分關(guān)聯(lián) 接下來(lái),就需要考慮如何將這個(gè) RowMapper和 Execute結(jié)合到一起。 DataTable dt = new DataTable()。 = m。例如: M不一定具備 SetData方法, M和 T也不一定具備實(shí)例化,這時(shí), 我們小組 們就需要使用到反省篩選器來(lái)將泛型類進(jìn)行篩選。 我們 小組成員感謝龐英智老師以及企業(yè)教師徐鐵楠老師對(duì) 我們 的 細(xì)心 指導(dǎo)。其中最重要的是數(shù)據(jù)層,它的功能是與數(shù)據(jù)庫(kù)交互,并將數(shù)據(jù)庫(kù)的結(jié)果集返回到業(yè)務(wù)邏輯層,編譯數(shù)據(jù)層最常用的知識(shí)點(diǎn)是泛型。 T tmp = (
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1