第8章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)_第1頁(yè)
第8章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)_第2頁(yè)
第8章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)_第3頁(yè)
第8章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)_第4頁(yè)
第8章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大連理工大學(xué)出版社高職教育出版中心大連理工大學(xué)出版社高職教育出版中心第第8 8章章 典型數(shù)據(jù)處理模塊的設(shè)計(jì)典型數(shù)據(jù)處理模塊的設(shè)計(jì) 2 2主要內(nèi)容:主要內(nèi)容:l登錄模塊登錄模塊l密碼修改模塊密碼修改模塊l數(shù)據(jù)添加模塊數(shù)據(jù)添加模塊l數(shù)據(jù)查詢模塊數(shù)據(jù)查詢模塊l數(shù)據(jù)維護(hù)模塊數(shù)據(jù)維護(hù)模塊l打印報(bào)表模塊打印報(bào)表模塊l樹(shù)狀瀏覽模塊樹(shù)狀瀏覽模塊目的要求:目的要求:l 掌握典型數(shù)據(jù)處理模塊的設(shè)計(jì)方法與技巧掌握典型數(shù)據(jù)處理模塊的設(shè)計(jì)方法與技巧 3 36.16.1數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)根據(jù)“通訊錄管理系統(tǒng)通訊錄管理系統(tǒng)”功能需要,設(shè)計(jì)一個(gè)功能需要,設(shè)計(jì)一個(gè)SQL ServerSQL Server數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù):

2、phoneBookphoneBook,共包含以下,共包含以下3 3個(gè)個(gè)數(shù)據(jù)表:數(shù)據(jù)表: (1)(1)用戶表用戶表 (2)(2)聯(lián)系人表聯(lián)系人表 (3)(3)組別代碼表組別代碼表4 46.2 6.2 登錄模塊的設(shè)計(jì)登錄模塊的設(shè)計(jì)如圖如圖8-1為用戶登錄時(shí)的效果,當(dāng)用戶輸入用戶名為用戶登錄時(shí)的效果,當(dāng)用戶輸入用戶名和密碼后單擊【登錄】按鈕時(shí),如果用戶名或和密碼后單擊【登錄】按鈕時(shí),如果用戶名或密碼錯(cuò)誤,則提示重新輸入,否則,進(jìn)入系統(tǒng)密碼錯(cuò)誤,則提示重新輸入,否則,進(jìn)入系統(tǒng)主界面,如圖主界面,如圖8-2所示。所示。 注:需設(shè)置密碼文本框的注:需設(shè)置密碼文本框的PasswordChar屬性為屬性為“*

3、 *”5 58.3 8.3 密碼修改模塊的設(shè)計(jì)密碼修改模塊的設(shè)計(jì) 如圖如圖8-3為密碼修改模塊運(yùn)行時(shí)的效果。修改密碼時(shí),為密碼修改模塊運(yùn)行時(shí)的效果。修改密碼時(shí),要求用戶依次輸入各項(xiàng)并回車(chē),當(dāng)修改成功時(shí),會(huì)彈出要求用戶依次輸入各項(xiàng)并回車(chē),當(dāng)修改成功時(shí),會(huì)彈出如圖如圖8-4所示的對(duì)話框。所示的對(duì)話框。圖圖8-3 8-3 密碼修改模塊運(yùn)行效果密碼修改模塊運(yùn)行效果圖圖8-4 8-4 密碼修改成功時(shí)的效果密碼修改成功時(shí)的效果6 61窗體界面設(shè)計(jì)窗體界面設(shè)計(jì)2添加相關(guān)代碼添加相關(guān)代碼(1) 聲明窗體級(jí)變量聲明窗體級(jí)變量(2) 窗體的窗體的load事件處理過(guò)程事件處理過(guò)程(3) 用戶名文本框的用戶名文本框的

4、KeyPress事件處理過(guò)程事件處理過(guò)程(4) 各密碼文本框的各密碼文本框的TextChanged事件處理過(guò)程事件處理過(guò)程 (5) 舊密碼文本框的舊密碼文本框的KeyPress事件處理過(guò)程事件處理過(guò)程(6) 新密碼文本框的新密碼文本框的KeyPress事件處理過(guò)程事件處理過(guò)程(7) 確認(rèn)新密碼文本框的確認(rèn)新密碼文本框的KeyPress事件處理過(guò)程事件處理過(guò)程 (8) 【確定】按鈕的【確定】按鈕的Click事件處理過(guò)程事件處理過(guò)程(9) 【重置】按鈕的【重置】按鈕的Click事件處理過(guò)程事件處理過(guò)程(10) 【退出】按鈕的【退出】按鈕的Click事件處理過(guò)程事件處理過(guò)程7 78.4 8.4 數(shù)據(jù)

5、添加模塊的設(shè)計(jì)數(shù)據(jù)添加模塊的設(shè)計(jì) 數(shù)據(jù)添加模塊主要包含用戶輸入控件,除標(biāo)數(shù)據(jù)添加模塊主要包含用戶輸入控件,除標(biāo)簽、按鈕外,經(jīng)常應(yīng)用文本框(簽、按鈕外,經(jīng)常應(yīng)用文本框(TextBox)、下拉)、下拉列表框列表框(ComboBox)、日期時(shí)間拾取器、日期時(shí)間拾取器(DateTimePicker)、圖片框、圖片框(PictureBox)等控件,通等控件,通過(guò)將輸入的各個(gè)參數(shù)寫(xiě)入數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)添加過(guò)將輸入的各個(gè)參數(shù)寫(xiě)入數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)添加的功能。的功能。 以以“通訊錄管理系統(tǒng)通訊錄管理系統(tǒng)”中的添加聯(lián)系人模塊中的添加聯(lián)系人模塊為例,介紹數(shù)據(jù)添加模塊的一般設(shè)計(jì)方法。為例,介紹數(shù)據(jù)添加模塊的一般設(shè)計(jì)方法

6、。 8 8 案例效果案例效果: 如圖如圖8-6所示,用戶單擊按鈕,可為聯(lián)系人選擇圖所示,用戶單擊按鈕,可為聯(lián)系人選擇圖片,當(dāng)用戶輸入完各項(xiàng)后單擊【保存】按鈕時(shí),就將這片,當(dāng)用戶輸入完各項(xiàng)后單擊【保存】按鈕時(shí),就將這條記錄插入到條記錄插入到“聯(lián)系人表聯(lián)系人表”中,并提示中,并提示“添加成功添加成功”,如果不成功也給出相應(yīng)提示。如果不成功也給出相應(yīng)提示。圖8-6 數(shù)據(jù)添加模塊運(yùn)行效果9 9設(shè)計(jì)步驟設(shè)計(jì)步驟:1窗體界面設(shè)計(jì)窗體界面設(shè)計(jì)2添加相關(guān)代碼添加相關(guān)代碼 (1) 添加引用添加引用 using System.Data.SqlClient; using System.IO; /用于訪問(wèn)字節(jié)流用于訪

7、問(wèn)字節(jié)流Stream (2) 聲明變量聲明變量 (3) 窗體的窗體的load事件處理過(guò)程事件處理過(guò)程 /用于填充組別下拉列表框用于填充組別下拉列表框 (4) 圖片瀏覽按鈕的圖片瀏覽按鈕的Click事件處理過(guò)程事件處理過(guò)程 (5)【保存】按鈕的【保存】按鈕的Click事件處理過(guò)程事件處理過(guò)程10108.5 8.5 數(shù)據(jù)查詢模塊的設(shè)計(jì)數(shù)據(jù)查詢模塊的設(shè)計(jì)案例效果案例效果 如圖如圖8-8所示,當(dāng)用戶輸入姓名或選擇組別后單所示,當(dāng)用戶輸入姓名或選擇組別后單擊【查詢】按鈕后,即可以數(shù)據(jù)網(wǎng)格形式顯示查詢擊【查詢】按鈕后,即可以數(shù)據(jù)網(wǎng)格形式顯示查詢結(jié)果,并在狀態(tài)欄中顯示共找到多少條記錄。結(jié)果,并在狀態(tài)欄中顯示

8、共找到多少條記錄。 1111 設(shè)計(jì)步驟設(shè)計(jì)步驟 1.窗體界面設(shè)計(jì)窗體界面設(shè)計(jì)2.添加相關(guān)代碼添加相關(guān)代碼 (1)聲明窗體級(jí)變量聲明窗體級(jí)變量 (2) 窗體的窗體的load事件處理過(guò)程事件處理過(guò)程 /填充組別組合框填充組別組合框 /在在dgView1中顯示聯(lián)系人表中的信息中顯示聯(lián)系人表中的信息 /狀態(tài)欄中顯示找到的記錄數(shù)狀態(tài)欄中顯示找到的記錄數(shù) (3)【查詢】按鈕的【查詢】按鈕的Click事件處理過(guò)程事件處理過(guò)程12128.6 8.6 數(shù)據(jù)維護(hù)模塊的設(shè)計(jì)數(shù)據(jù)維護(hù)模塊的設(shè)計(jì) 在數(shù)據(jù)庫(kù)應(yīng)用程序中,添加到數(shù)據(jù)庫(kù)中的數(shù)在數(shù)據(jù)庫(kù)應(yīng)用程序中,添加到數(shù)據(jù)庫(kù)中的數(shù)據(jù)常需維護(hù),即修改或刪除,并且要把維護(hù)后的據(jù)常需

9、維護(hù),即修改或刪除,并且要把維護(hù)后的數(shù)據(jù)再更新到數(shù)據(jù)庫(kù)中。要想修改或刪除某條記數(shù)據(jù)再更新到數(shù)據(jù)庫(kù)中。要想修改或刪除某條記錄,首先要查找到這條記錄,為此本節(jié)在上節(jié)設(shè)錄,首先要查找到這條記錄,為此本節(jié)在上節(jié)設(shè)計(jì)的數(shù)據(jù)查詢模塊的基礎(chǔ)上設(shè)計(jì)一個(gè)數(shù)據(jù)維護(hù)模計(jì)的數(shù)據(jù)查詢模塊的基礎(chǔ)上設(shè)計(jì)一個(gè)數(shù)據(jù)維護(hù)模塊。塊。 1313案例效果案例效果 如圖如圖8-11為數(shù)據(jù)維護(hù)模塊運(yùn)行時(shí)主界面的效果,為數(shù)據(jù)維護(hù)模塊運(yùn)行時(shí)主界面的效果,單擊【刪除】按鈕可刪除選中的記錄,單擊【修改】單擊【刪除】按鈕可刪除選中的記錄,單擊【修改】按鈕則彈出修改窗口,如圖按鈕則彈出修改窗口,如圖8-12所示,在此窗口顯示所示,在此窗口顯示要修改的

10、記錄,單擊圖片瀏覽按鈕可選擇照片,當(dāng)修要修改的記錄,單擊圖片瀏覽按鈕可選擇照片,當(dāng)修改完各數(shù)據(jù)項(xiàng)并單擊【保存】按鈕時(shí),就將用戶的修改完各數(shù)據(jù)項(xiàng)并單擊【保存】按鈕時(shí),就將用戶的修改保存到數(shù)據(jù)庫(kù)中,并返回主界面。改保存到數(shù)據(jù)庫(kù)中,并返回主界面。1414設(shè)計(jì)步驟設(shè)計(jì)步驟 1.數(shù)據(jù)維護(hù)模塊主窗體設(shè)計(jì)數(shù)據(jù)維護(hù)模塊主窗體設(shè)計(jì)2.修改窗體的界面設(shè)計(jì)修改窗體的界面設(shè)計(jì)3.為主窗體添加代碼為主窗體添加代碼4.為修改窗體添加代碼為修改窗體添加代碼 1515 說(shuō)明說(shuō)明: 先要在修改窗體中添加屬性先要在修改窗體中添加屬性ID,這樣就可將主窗,這樣就可將主窗體中選中記錄的體中選中記錄的ID值傳遞到修改窗體中;在修改窗體

11、值傳遞到修改窗體中;在修改窗體中修改成功后要將返回值設(shè)置為中修改成功后要將返回值設(shè)置為DialogResult.OK,這,這樣,就會(huì)由修改窗體自動(dòng)返回到主窗體,并自動(dòng)刷樣,就會(huì)由修改窗體自動(dòng)返回到主窗體,并自動(dòng)刷新新dgView1中的數(shù)據(jù)。中的數(shù)據(jù)。 此模塊設(shè)計(jì)的兩個(gè)要點(diǎn):此模塊設(shè)計(jì)的兩個(gè)要點(diǎn): 一是要修改的記錄的主鍵值由主窗體傳遞到修改窗體。一是要修改的記錄的主鍵值由主窗體傳遞到修改窗體。 二是二是SQLServer數(shù)據(jù)庫(kù)中圖片字段的存取。這里應(yīng)用數(shù)據(jù)庫(kù)中圖片字段的存取。這里應(yīng)用了字節(jié)流了字節(jié)流Stream和內(nèi)存字節(jié)流和內(nèi)存字節(jié)流MemoryStream的知識(shí),的知識(shí),并介紹了為窗體添加屬性

12、的方法。并介紹了為窗體添加屬性的方法。16168.7 8.7 打印報(bào)表模塊的設(shè)計(jì)打印報(bào)表模塊的設(shè)計(jì)水晶報(bào)表相關(guān)概念(1) 水晶報(bào)表設(shè)計(jì)器水晶報(bào)表設(shè)計(jì)器(Crystal Report Designer)用來(lái)創(chuàng)建和編輯水晶報(bào)表。 (2) 水晶報(bào)表查看器控件水晶報(bào)表查看器控件(Crystal Report Viewer)用于顯示水晶報(bào)表。 (3) 報(bào)表文檔報(bào)表文檔(ReportDocument)表示內(nèi)存中的一個(gè)報(bào)表,含有定義、格式化、加載、導(dǎo)出和打印該報(bào)表的屬性和方法。利用該組件可動(dòng)態(tài)更改報(bào)表的數(shù)據(jù)源,從而更改報(bào)表的顯示內(nèi)容。常用其SetDataSource() 方法來(lái)設(shè)置數(shù)據(jù)源,如數(shù)據(jù)集等。 17

13、17案例效果案例效果 如圖如圖8-13為打印報(bào)表模塊運(yùn)行時(shí)的效果,選擇打印為打印報(bào)表模塊運(yùn)行時(shí)的效果,選擇打印范圍后單擊【預(yù)覽報(bào)表】按鈕,則可預(yù)覽查詢結(jié)果報(bào)表,范圍后單擊【預(yù)覽報(bào)表】按鈕,則可預(yù)覽查詢結(jié)果報(bào)表,如圖如圖8-14所示,在此窗口可利用工具欄按鈕打印該報(bào)表,所示,在此窗口可利用工具欄按鈕打印該報(bào)表,也可將該報(bào)表導(dǎo)出也可將該報(bào)表導(dǎo)出Excel等格式的文件。等格式的文件。 1818設(shè)計(jì)步驟設(shè)計(jì)步驟1.主窗體的設(shè)計(jì)主窗體的設(shè)計(jì)2. 報(bào)表預(yù)覽窗體的設(shè)計(jì)報(bào)表預(yù)覽窗體的設(shè)計(jì)3.為報(bào)表預(yù)覽窗體添加屬性為報(bào)表預(yù)覽窗體添加屬性 ,用于從主窗體傳遞用于從主窗體傳遞SQL語(yǔ)句語(yǔ)句4.為主窗體添加相關(guān)代碼為

14、主窗體添加相關(guān)代碼 (1)窗體的窗體的load事件處理過(guò)程事件處理過(guò)程 /將組別代碼表中的將組別代碼表中的“組別組別”字段的值填充到組別組合框字段的值填充到組別組合框 (2) 【預(yù)覽報(bào)表】按鈕的【預(yù)覽報(bào)表】按鈕的Click事件處理過(guò)程事件處理過(guò)程19195.為項(xiàng)目添加數(shù)據(jù)源為項(xiàng)目添加數(shù)據(jù)源 單擊【數(shù)據(jù)】單擊【數(shù)據(jù)】|【添加新數(shù)據(jù)源】,按照向?qū)?,選擇【添加新數(shù)據(jù)源】,按照向?qū)?,選擇SQL Server數(shù)數(shù)據(jù)庫(kù)據(jù)庫(kù)PhoneBook中的中的“聯(lián)系人表聯(lián)系人表”作為數(shù)據(jù)源。配置成功后,項(xiàng)作為數(shù)據(jù)源。配置成功后,項(xiàng)目中會(huì)增加一個(gè)文件:目中會(huì)增加一個(gè)文件:phoneBookDataSet.xsd。6.為

15、報(bào)表預(yù)覽窗體添加報(bào)表為報(bào)表預(yù)覽窗體添加報(bào)表 向窗體加一個(gè)向窗體加一個(gè)CrystalReportViewer控件控件,在其任務(wù)面板上,取消在其任務(wù)面板上,取消“顯顯示組樹(shù)示組樹(shù)”選項(xiàng),并單擊選項(xiàng),并單擊“創(chuàng)建新創(chuàng)建新Crystal報(bào)表報(bào)表”,啟動(dòng)報(bào)表創(chuàng)建向?qū)?,啟?dòng)報(bào)表創(chuàng)建向?qū)?創(chuàng)建報(bào)表創(chuàng)建報(bào)表CrystalReport1.rpt 。 7.為報(bào)表預(yù)覽窗體添加代碼為報(bào)表預(yù)覽窗體添加代碼8.打印機(jī)設(shè)置打印機(jī)設(shè)置 2020 8.8 8.8 樹(shù)狀瀏覽模塊的設(shè)計(jì)樹(shù)狀瀏覽模塊的設(shè)計(jì)案例效果案例效果 如圖如圖8-23為樹(shù)狀瀏覽模塊運(yùn)行時(shí)的效果,當(dāng)為樹(shù)狀瀏覽模塊運(yùn)行時(shí)的效果,當(dāng)用戶在左側(cè)單擊某組別節(jié)點(diǎn)后,在該節(jié)點(diǎn)

16、下方就用戶在左側(cè)單擊某組別節(jié)點(diǎn)后,在該節(jié)點(diǎn)下方就顯示該組別的人員節(jié)點(diǎn),單擊某人員節(jié)點(diǎn),右邊顯示該組別的人員節(jié)點(diǎn),單擊某人員節(jié)點(diǎn),右邊就顯示該人員的信息就顯示該人員的信息 。 2121treeView控件相關(guān)知識(shí)控件相關(guān)知識(shí)1.常用屬性常用屬性:ImageList, Nodes, SelectedNode, Dock2.節(jié)點(diǎn)節(jié)點(diǎn)TreeNode的創(chuàng)建的創(chuàng)建: 如如TreeNode node = new TreeNode(nodeText,0,1);3.節(jié)點(diǎn)節(jié)點(diǎn)TreeNode的屬性的屬性:Text,Tag, ImageIndex, SelectedImageIndex, , 4.添加節(jié)點(diǎn):添加節(jié)

17、點(diǎn):利用利用 Nodes屬性的屬性的Add() 方法方法如:如:TreeNode node = new TreeNode(“新節(jié)點(diǎn)新節(jié)點(diǎn)”,0,1); TreeView1.SelectedNode.Nodes.Add (node); 5.清空節(jié)點(diǎn):如清空節(jié)點(diǎn):如TreeView1.Nodes.Clear();6.刪除節(jié)點(diǎn):如刪除節(jié)點(diǎn):如 TreeView1.Nodes.Remove(TreeView1. SelectedNode); 7.常用事件:常用事件:BeforeExpand, AfterSelect, AfterExpand , AfterCollapse 2222設(shè)計(jì)步驟設(shè)計(jì)步驟1.

18、窗體界面設(shè)計(jì)窗體界面設(shè)計(jì)23232.為窗體添加相關(guān)代碼為窗體添加相關(guān)代碼 (1) 定義數(shù)據(jù)庫(kù)操作的公共類定義數(shù)據(jù)庫(kù)操作的公共類 (2)為窗體加載事件添加代碼為窗體加載事件添加代碼 (3) 為為treeView1控件的控件的BeforeExpand事件添加代碼事件添加代碼 (4) 為為treeView1控件的控件的AfterSelect事件添加代碼事件添加代碼 (5) 為為treeView1控件的控件的AfterExpand事件添加代碼事件添加代碼 (6) 為為treeView1控件的控件的AfterCollapse事件添加代碼事件添加代碼注注:treeView1控件的控件的4個(gè)常用事件中的參數(shù)個(gè)常用事件中的參數(shù)e都帶入了當(dāng)都帶入了當(dāng)前節(jié)點(diǎn)的信息前節(jié)點(diǎn)的信息2424設(shè)計(jì)要點(diǎn)設(shè)計(jì)要點(diǎn):n分割窗體的實(shí)現(xiàn)分割窗體的實(shí)現(xiàn)n事件參數(shù)事件參數(shù)e的應(yīng)用的應(yīng)用n如何判斷如何判斷TreeView控件中某數(shù)據(jù)節(jié)點(diǎn)的類型控件中某數(shù)據(jù)節(jié)點(diǎn)的類型(層次層次)n該模塊中在該模塊中在TreeView控件中添加根節(jié)點(diǎn)后為何要添加空控件中添加根節(jié)點(diǎn)后為何要添加空的子節(jié)點(diǎn)的子節(jié)點(diǎn)n如何定義數(shù)據(jù)庫(kù)操作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論