2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  **大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院</p><p>  數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告書</p><p>  題目:基于C/S模式的圖書管理系統(tǒng)的設(shè)計(jì)</p><p>  所學(xué)專業(yè):計(jì)算機(jī)軟件與理論</p><p><b>  班 級(jí):</b></p><p><b>  作

2、 者:</b></p><p><b>  指導(dǎo)老師:</b></p><p><b>  完成日期: </b></p><p><b>  內(nèi)容提要</b></p><p>  本文介紹了一個(gè)基于Client/Server模式的高校圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。運(yùn)

3、用Visual Basic.Net結(jié)合Microsoft SQL Server 2000開發(fā)的登錄模塊主要用于驗(yàn)證用戶身份,進(jìn)行有效的操作。從主界面模塊在驗(yàn)證后進(jìn)入每個(gè)子模塊進(jìn)行各個(gè)子系統(tǒng)的具體功能操作。在整個(gè)系統(tǒng)設(shè)計(jì)中充分利用了模塊化的設(shè)計(jì)思想和開發(fā)方法。</p><p>  關(guān)鍵詞 C/S SQL2000 數(shù)據(jù)庫 課程設(shè)計(jì)</p><p><b>  目 錄</b&

4、gt;</p><p>  第1章 應(yīng)用背景與需求說明…………………………………………………5</p><p>  1.1 背景…………………………………………………………………5</p><p>  1.2 數(shù)據(jù)需求……………………………………………………………5</p><p>  1.3 事務(wù)需求……………………………………………………

5、………5</p><p>  1.4 系統(tǒng)開發(fā)平臺(tái)………………………………………………………6</p><p>  1.5 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)………………………………………………………6</p><p>  第2章 解決方案………………………………………………………………7</p><p>  2.1 E-R模型設(shè)計(jì)…………………………………………

6、……………7</p><p>  2.1.1 實(shí)體列表……………………………………………………7</p><p>  2.1.2 系統(tǒng)的E-R模型……………………………………………8</p><p>  2.2 設(shè)計(jì)數(shù)據(jù)庫…………………………………………………………8</p><p>  2.2.1 創(chuàng)建數(shù)據(jù)庫…………………………………………

7、………8</p><p>  2.2.2 創(chuàng)建數(shù)據(jù)表…………………………………………………8</p><p>  2.2.3 連接數(shù)據(jù)庫…………………………………………………9</p><p>  2.3主窗體設(shè)計(jì)…………………………………………………………10</p><p>  2.3.1 設(shè)計(jì)登錄界面………………………………………………

8、10</p><p>  2.3.2 添加數(shù)據(jù)組件………………………………………………10</p><p>  2.3.3 生成數(shù)據(jù)集…………………………………………………11</p><p>  2.3.4 設(shè)計(jì)代碼……………………………………………………11</p><p>  2.4讀者信息……………………………………………………………

9、12</p><p>  2.4.1 設(shè)計(jì)顯示界面………………………………………………12</p><p>  2.4.2 添加數(shù)據(jù)組件………………………………………………12</p><p>  2.4.3 功能實(shí)現(xiàn)……………………………………………………12</p><p>  2.5顯示報(bào)表……………………………………………………………

10、12</p><p>  2.5.1 添加讀者信息報(bào)表…………………………………………13</p><p>  2.5.2 添加借閱情況表……………………………………………13</p><p>  2.6綜合查詢的實(shí)現(xiàn)……………………………………………………14</p><p>  2.6.1 添加數(shù)據(jù)組件………………………………………………

11、14</p><p>  2.6.2 窗體功能實(shí)現(xiàn)………………………………………………14</p><p>  第3章 系統(tǒng)實(shí)現(xiàn)………………………………………………………………15</p><p>  3.1開發(fā)環(huán)境……………………………………………………………15</p><p>  3.2系統(tǒng)流程圖……………………………………………………

12、……15</p><p>  3.3程序調(diào)試情況………………………………………………………16</p><p>  3.4功能顯示……………………………………………………………16</p><p>  3.5結(jié)論…………………………………………………………………20</p><p>  第4章 結(jié)束語………………………………………………………

13、…………20</p><p>  參考文獻(xiàn) ………………………………………………………………………21</p><p>  附錄:源代碼清單 ……………………………………………………………21</p><p><b>  第一章 問題描述</b></p><p>  1.1 圖書管理系統(tǒng)簡(jiǎn)介</p><

14、;p>  本系統(tǒng)利用VB.NET處理數(shù)據(jù)庫的功能,實(shí)現(xiàn)對(duì)圖書館信息的管理。主要功能為管理有關(guān)讀者、出版社、書籍、借閱和管理者的信息等。</p><p>  本系統(tǒng)的結(jié)構(gòu)分為讀者信息管理模塊、出版社信息管理模塊、書籍信息管理模塊、借閱信息管理模塊、管理者管理信息模塊、報(bào)表顯示模塊和查詢處理模塊。</p><p><b>  1.2 數(shù)據(jù)需求</b></p&g

15、t;<p>  根據(jù)系統(tǒng)的需求,首先將要記錄的信息分類,要記錄的信息如下。</p><p> ?、抛x者信息:包括證號(hào)、姓名、聯(lián)系方式、已借書數(shù)目、讀者類別和能否借書等。</p><p> ?、瞥霭嫔缧畔ⅲ喊Q、地址、網(wǎng)址、E-mail等。</p><p>  ⑶書籍信息:包括書號(hào)、叢書系列、作者、責(zé)任編輯、字?jǐn)?shù)、定價(jià)、出版時(shí)間、主題分類、二級(jí)分類、

16、館內(nèi)借閱分類、總冊(cè)數(shù)、庫存量、出版社和書名等。</p><p> ?、冉栝喰畔ⅲ喊ń栝喨掌凇?yīng)歸還日期、實(shí)際歸還日期、能否續(xù)借、書號(hào)和證號(hào)等。</p><p>  ⑸管理者信息:包括管理者名稱、對(duì)應(yīng)密碼和對(duì)應(yīng)權(quán)限等。</p><p>  根據(jù)這些需要,本系統(tǒng)需要“讀者信息”表,“出版社信息”表,“書籍信息”表,“借閱信息”表和“管理者信息”表。</p>

17、<p><b>  1.3 事務(wù)需求</b></p><p>  經(jīng)過實(shí)際考察、咨詢和分析,高等院校圖書管理系統(tǒng)主要應(yīng)該具有以下功能模塊,如1.1圖。</p><p>  ⑴在讀者信息管理部分,要求如下。</p><p><b>  可以瀏覽讀者信息。</b></p><p>  可以

18、對(duì)讀者信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p> ?、圃诔霭嫔缧畔⒐芾聿糠?要求如下。</p><p>  可以瀏覽出版社信息。</p><p>  可以對(duì)出版社信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p> ?、窃跁畔⒐芾聿糠?要求如下。</p><p><b>  可以瀏覽書籍信息

19、。</b></p><p>  可以對(duì)書籍信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p> ?、仍诮栝喰畔⒐芾聿糠?要求如下。</p><p><b>  可以瀏覽借閱信息。</b></p><p>  可以對(duì)借閱信息進(jìn)行維護(hù)操作。</p><p> ?、稍诠芾碚咝畔⒐芾聿糠?要

20、求如下。</p><p>  顯示當(dāng)前數(shù)據(jù)庫中管理者情況。</p><p>  對(duì)管理者信息維護(hù)操作。</p><p>  圖1.1 系統(tǒng)業(yè)務(wù)邏輯關(guān)系</p><p>  1.4 系統(tǒng)開發(fā)平臺(tái)</p><p><b>  前臺(tái):</b></p><p><b> 

21、 硬件要求:</b></p><p>  CPU: Pentium 4 2.0GHz以上IBM兼容機(jī)</p><p>  內(nèi)存:512MB以上容量</p><p>  顯卡:32MB或以上顯存之AGP接口顯卡</p><p><b>  2、軟件要求:</b></p><p>  操作

22、系統(tǒng):Microsoft Windows 2000/XP</p><p>  開發(fā)工具:Microsoft Visual Studio.Net2003</p><p><b>  數(shù)據(jù)庫服務(wù)器:</b></p><p><b>  硬件要求:</b></p><p>  CPU: Pentium4

23、2.8GHz以上IBM兼容機(jī)</p><p>  內(nèi)存:1024MB以上容量</p><p>  顯卡:32MB或以上顯存之AGP接口顯卡</p><p><b>  軟件要求:</b></p><p>  操作系統(tǒng):Microsoft Windows 2000 Server</p><p>  

24、數(shù)據(jù)庫服務(wù)器:Microsoft SQL 2000 Server</p><p><b>  網(wǎng)絡(luò)設(shè)備:</b></p><p>  2塊網(wǎng)卡:客戶機(jī)D-Link DFE-650TX,服務(wù)器Intel PCLA8460B。</p><p>  路由器:一臺(tái)SOHO路由器TL-R402M</p><p>  1.5 網(wǎng)絡(luò)拓

25、撲結(jié)構(gòu)</p><p>  本設(shè)計(jì)采用客戶機(jī)/服務(wù)器(C/S)體系,數(shù)據(jù)的儲(chǔ)存管理功能較為透明性,可以合理均衡事務(wù)的處理,充分保證數(shù)據(jù)的完整性和一致性。</p><p>  圖1.2 C/S模式結(jié)構(gòu)</p><p><b>  第二章 解決方案</b></p><p>  數(shù)據(jù)庫主要著重于數(shù)據(jù)對(duì)象的屬性和數(shù)據(jù)對(duì)象之間的

26、關(guān)系的分析。一般采用E-R圖,即實(shí)體-關(guān)系模型來分析數(shù)據(jù)對(duì)象的屬性和數(shù)據(jù)對(duì)象之間的關(guān)系。</p><p>  2.1 E-R模型設(shè)計(jì)</p><p>  2.1.1 實(shí)體列表</p><p>  2.1.2 系統(tǒng)的E-R模型</p><p>  該圖書管理系統(tǒng)的E-R模型,如下圖所示</p><p><b>

27、  2.2 設(shè)計(jì)數(shù)據(jù)庫</b></p><p>  2.2.1創(chuàng)建數(shù)據(jù)庫</p><p>  (1)在服務(wù)器資源管理器中的任一節(jié)點(diǎn)右擊。</p><p>  (2)執(zhí)行快捷菜單中的“新建數(shù)據(jù)庫”命令,并在打開的“創(chuàng)建數(shù)據(jù)庫”對(duì)話框中輸入數(shù)據(jù)庫名Library,選中“使用WindowsNT集成安全性”單選按鈕。</p><p>  

28、(3)單擊“確定”按鈕,則新建的數(shù)據(jù)庫就會(huì)出現(xiàn)在服務(wù)器上。</p><p>  2.2.2創(chuàng)建數(shù)據(jù)表</p><p>  創(chuàng)建數(shù)據(jù)庫后,為L(zhǎng)ibrary數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。</p><p>  (1)在服務(wù)器資源管理器中右擊數(shù)據(jù)庫Library下的“表”文件夾。在彈出的快捷菜單中執(zhí)行“新建表”命令,出現(xiàn)表設(shè)計(jì)器。</p><p>  

29、(2)添加表的字段和其他詳細(xì)資料。各表數(shù)據(jù)結(jié)構(gòu)如下表所示。</p><p>  表2.1 圖書管理系統(tǒng)各表數(shù)據(jù)結(jié)構(gòu)</p><p>  2.2.3連接數(shù)據(jù)庫</p><p>  為數(shù)據(jù)庫Library和本系統(tǒng)之間建立一個(gè)數(shù)據(jù)連接。</p><p>  (1)在服務(wù)器資源管理器中右擊“數(shù)據(jù)連接”節(jié)點(diǎn)。在彈出的快捷菜單中執(zhí)行“添加連接”命令,打開

30、Data Link Properties對(duì)話框。切換到Provider選項(xiàng)卡,選中列表框中的Microsoft OLE DB Provider for SQL Server項(xiàng)。單擊“下一步”切換到Connection選項(xiàng)卡。</p><p>  (2)在其中的第一個(gè)下拉列表框中選擇數(shù)據(jù)庫所在服務(wù)器名稱。輸入登錄服務(wù)器信息后選擇數(shù)據(jù)庫Library,然后單擊Test Connection按鈕。如果測(cè)試成功,單擊“確

31、定”按鈕。</p><p><b>  2.3主窗體設(shè)計(jì)</b></p><p>  創(chuàng)建一個(gè)新的“Windows應(yīng)用程序”類型的項(xiàng)目,名為“圖書館管理”。將默認(rèn)創(chuàng)建的窗體命名為“主窗體”,把“主窗體”作為本系統(tǒng)中的主界面。</p><p>  在窗體中添加兩個(gè)Pannel控件,7個(gè)Button控件和7個(gè)Linklabel控件。</p&g

32、t;<p>  2.3.1設(shè)計(jì)登錄界面</p><p>  設(shè)計(jì)登錄界面,創(chuàng)建一個(gè)新的”Windows窗體”,名為登錄,作為本系統(tǒng)的登錄界面.在登錄窗體上添加兩個(gè)Label控件,兩個(gè)Button控件和兩個(gè)TextBox控件,添加控件后的窗體如圖所示。</p><p>  2.3.2添加數(shù)據(jù)組件</p><p>  在工具箱中單擊“數(shù)據(jù)”選項(xiàng)卡,添加Ol

33、eDbDataAdapter組件。</p><p>  (1)在工具箱中單擊OleDbDataAdapter組件,在窗體任意位置拖動(dòng)出一個(gè)虛框矩形后釋放左鍵彈出“數(shù)據(jù)適配器配置向?qū)А睂?duì)話框。</p><p>  (2) 單擊“下一步”,在打開的對(duì)話框中選擇前面建好的數(shù)據(jù)連接,然后單擊“下一步”。</p><p>  (3)選中“使用SQL語句”,然后單擊“下一步”進(jìn)

34、入“生成SQL語句”對(duì)話框。</p><p>  (4)在其中的多行文本框直接輸入SQL語句“SELECT 管理者信息.* FROM 管理者信息”。</p><p>  (5)單擊“下一步”按鈕,進(jìn)入“查看向?qū)ЫY(jié)果”,單擊“完成”按鈕完成數(shù)據(jù)適配器配置。</p><p>  配置數(shù)據(jù)適配器后,在主窗體上就會(huì)自動(dòng)添加一個(gè)OleDbConnection控件。</p

35、><p>  2.3.3生成數(shù)據(jù)集</p><p>  生成數(shù)據(jù)集的步驟如下:</p><p>  (1)單擊OleDbDataAdapter控件“屬性”對(duì)話框中的“生成數(shù)據(jù)集”鏈接,打開“生成數(shù)據(jù)集”對(duì)話框。</p><p>  (2)在其中選中“新建”單選按鈕,并在其后面的文本框中輸入“Lib管理者信息”。</p><p&

36、gt;  (3)在“選擇要添加到數(shù)據(jù)集中的表”列表框中列出了前面添加的OleDbDataAdapter組件所連接的表,選中該表名前面的復(fù)選框。</p><p>  (4)選中“將此數(shù)據(jù)集添加到設(shè)計(jì)器”復(fù)選框,單擊“確定”按鈕</p><p>  這樣,將生成一個(gè)名稱為“Lib管理者信息”的數(shù)據(jù)集,該數(shù)據(jù)集以文件形式存儲(chǔ),文件名為“Lib管理者信息.xsd”。而在項(xiàng)目中,添加了一個(gè)DataS

37、et組件,名為“objLib管理者信息”。</p><p>  在解決方案資源管理器中右擊該項(xiàng)目,在彈出快捷菜單中單擊“屬性”菜單項(xiàng)。在打開的“屬性頁”對(duì)話框中的“啟動(dòng)對(duì)象”下拉列表框中選擇“主窗體”選項(xiàng)。單擊“確定”按鈕,這樣該項(xiàng)目啟動(dòng)時(shí),就會(huì)從主窗體開始啟動(dòng)。</p><p><b>  2.3.4設(shè)計(jì)代碼</b></p><p>  在程

38、序運(yùn)行過程中,如果想通過單擊LinkLabel控件或Button控件進(jìn)入系統(tǒng)中的各個(gè)功能模塊(如顯示讀者信息等),就會(huì)彈出一個(gè)對(duì)話框要求輸入用戶名和密碼.單擊"確認(rèn)"按鈕,程序就會(huì)到數(shù)據(jù)庫的"管理者信息"表中查找該用戶名和密碼是否存在.如果存在,允許進(jìn)入功能模塊.</p><p>  完成登錄功能的主要代碼集中在UserCheck函數(shù)中.在程序運(yùn)行過程中,在登錄窗體的&qu

39、ot;用戶姓名"和"用戶密碼"文本框中輸入用戶名和密碼后,單擊"確認(rèn)"按鈕就會(huì)觸發(fā)UserCheck函數(shù)并執(zhí)行其中的代碼.如果UserCheck函數(shù)返回True,那么允許用戶的操作;否則拒絕用戶的操作請(qǐng)求.</p><p>  在UserCheck函數(shù)中首先定義Login類型的變量dlg_Login,然后通過ShowDialog方法來顯示登錄窗體.如果用戶在登錄窗

40、體中輸入用戶姓名和密碼,并且單擊了"確認(rèn)"按鈕,那么自動(dòng)調(diào)用一個(gè)自定義函數(shù)LoadDataSet(),由此函數(shù)進(jìn)行數(shù)據(jù)加載.如果出錯(cuò),顯示錯(cuò)誤信息,回滾整個(gè)事務(wù).</p><p>  具體設(shè)計(jì)代碼見附錄1.1。</p><p><b>  2.4 讀者信息</b></p><p>  在當(dāng)前項(xiàng)目中添加一個(gè)“Windows窗體

41、”,將窗體命名為“讀者信息”。</p><p>  2.4.1設(shè)計(jì)顯示界面</p><p>  在窗體上添加1個(gè)GroupBox控件,9個(gè)Button控件,5個(gè)TextBox控件,1個(gè)CheckBox控件和7個(gè)Label控件。</p><p>  各按鈕控件是為了執(zhí)行相應(yīng)的操作。各TextBox控件和CheckBox控件用來顯示數(shù)據(jù)集中的數(shù)據(jù),這個(gè)功能通過設(shè)置Dat

42、aBindings屬性來實(shí)現(xiàn)。</p><p>  2.4.2添加數(shù)據(jù)組件</p><p>  向窗體添加OleDbConnection組件,命名為OleDbConnection1后將其選中,在“屬性”對(duì)話框的ConnectionString欄單擊,選擇所建數(shù)據(jù)庫Library。</p><p>  添加OleDbDataAdapter組件和生成數(shù)據(jù)集的方法步驟如2

43、.3.2及2.3.3。</p><p>  設(shè)置各TextBox控件的DataBinding屬性來實(shí)現(xiàn)對(duì)數(shù)據(jù)集中數(shù)據(jù)的顯示(以Edit證號(hào)為例)。</p><p>  (1)選中“Edit證號(hào)”控件單擊“屬性”對(duì)話框。</p><p>  (2)單擊DataBinding屬性前面的+號(hào)打開該屬性的詳細(xì)列表。</p><p>  (3)設(shè)置Te

44、xt屬性:在該屬性后面欄中單擊并選擇所對(duì)應(yīng)字段。</p><p>  (4)設(shè)置其他TextBox控件的DataBinding屬性。</p><p><b>  2.4.3功能實(shí)現(xiàn)</b></p><p>  顯示數(shù)據(jù),添加讀者,保存更改,記錄定位的實(shí)現(xiàn)。</p><p>  具體實(shí)現(xiàn)代碼見附1.2。</p>

45、<p>  “管理者信息”,“出版社信息”,“書籍信息”,“借閱信息”和該模塊的設(shè)計(jì)思路及方法步驟完全一致,在此從略。</p><p><b>  2.5 顯示報(bào)表</b></p><p>  在當(dāng)前項(xiàng)目中添加一個(gè)“Windows窗體”,命名為“報(bào)表窗體”,該模塊顯示當(dāng)前數(shù)據(jù)庫中讀者信息和借閱信息的報(bào)表。</p><p>  在窗

46、體上添加一個(gè)CrystalReportViewer1,它充當(dāng)報(bào)表顯示的窗體,然后在窗體中添加一個(gè)菜單,菜單中包括兩個(gè)子菜單項(xiàng)—“讀者信息”和“借閱信息”。 </p><p>  在程序運(yùn)行中,如果單擊“讀者信息”菜單項(xiàng),就會(huì)自動(dòng)在窗體上顯示“讀者信息報(bào)表.rpt”:如果單擊“借閱信息”命令就會(huì)自動(dòng)在窗體上顯示“借閱信息報(bào)表.rpt”報(bào)表。</p><p>  2.5.1添加讀者信息報(bào)表&l

47、t;/p><p>  (1)在開發(fā)環(huán)境中選擇菜單“項(xiàng)目”中的“添加新項(xiàng)”對(duì)話框中選擇Crystal Report選項(xiàng)。</p><p>  (2)在“名稱”文本框中輸入報(bào)表名“讀者信息報(bào)表.rpt”,單擊“打開”按鈕,就會(huì)彈出入圖所示的“Crystal Report庫”對(duì)話框。</p><p>  (3)在其對(duì)話框中選擇“使用報(bào)表專家”單選按鈕,在“選擇專家”列表框中選

48、擇“標(biāo)準(zhǔn)”選項(xiàng),單擊“確定”按鈕,進(jìn)入下一步。</p><p>  (4)在彈出的“標(biāo)準(zhǔn)報(bào)表專家”對(duì)話框中,選擇“可用的數(shù)據(jù)源”列表框中的OLB DB(ADO)選項(xiàng),就會(huì)彈“OLE DB(ADO)”對(duì)話框。選擇OLB DB提供程序?yàn)镸icrosoft OLE DB Provider for SQL Server,單擊“下一步”按鈕,顯示 “連接信息”對(duì)話框。</p><p>  (5)在其

49、中設(shè)置連接信息,單擊“完成”按鈕,返回“標(biāo)準(zhǔn)報(bào)表專家”對(duì)話框。</p><p>  (6)選擇數(shù)據(jù)源為OLE DB(ADO)中的Library數(shù)據(jù)庫,并且選中其中的“讀者信息”表。單擊“插入表”按鈕,把“讀者信息”表插入到報(bào)表中,單擊“下一步”按鈕。</p><p>  (7)在“字段”選項(xiàng)卡中單擊“全部添加”按鈕,把“讀者信息”表中的所有字段添加到報(bào)表中,單擊“完成”按鈕就完成報(bào)表的設(shè)計(jì)

50、。</p><p>  設(shè)計(jì)完成的“讀者信息報(bào)表”如圖所示。</p><p>  圖2.1 讀者信息報(bào)表效果圖</p><p>  2.5.2添加借閱情況報(bào)表</p><p>  添加借閱情況報(bào)表的過程與添加讀者信息報(bào)表過程大致相同,不同之處在于插入到報(bào)表中的數(shù)據(jù)表為“讀者信息”。</p><p>  2.6 綜合查詢

51、的實(shí)現(xiàn)</p><p>  在程序運(yùn)行過程中,單擊主窗體的“綜合查詢”按鈕,就會(huì)彈出一個(gè)對(duì)話框。在其中設(shè)置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄。</p><p>  為此需要在項(xiàng)目中添加一個(gè)窗體“綜合查詢”。</p><p>  還需要設(shè)置“CmbBox運(yùn)算符”控件的Items屬性。單擊窗體上“CmbBox運(yùn)算符”控件,然后在“屬性”對(duì)話框中單擊Items

52、欄,就會(huì)出現(xiàn)一個(gè)按鈕,單擊按鈕,在打開的窗口中如圖2.2所示設(shè)置字符串集合編輯器字符串。</p><p>  圖2.2 所示設(shè)置字符串集合編輯器</p><p>  設(shè)置完畢,單擊確定按鈕。</p><p>  2.6.1添加數(shù)據(jù)組件</p><p>  在窗體上添加一個(gè)OleDbDataAdapter組件,使用數(shù)據(jù)適配器配置向?qū)?duì)其進(jìn)行配置

53、。選擇數(shù)據(jù)連接后輸入SQL語句“SELECT 出版社信息.* FROM 出版社信息”。</p><p>  同樣再為窗體添加四個(gè)OleDbDataAdapter組件,</p><p>  在"生成SQL語句"對(duì)話框的多行文本框中分別輸入SQL語句“SELECT 讀者信息.* FROM 讀者信息”, “SELECT 管理者信息.* FROM 管理者信息” ,“SELECT

54、 借閱信息.* FROM 借閱信息”, “SELECT 書籍信息.* FROM 書籍信息” ,然后單擊“完成”按鈕,Name屬性分別設(shè)置為OleDbDataAdapter2,OleDbDataAdapter3,OleDbDataAdapter4,OleDbDataAdapter5完成數(shù)據(jù)適配器的配置。</p><p>  生成數(shù)據(jù)集的步驟如下。</p><p>  (1)在OleDbDat

55、aAdapter1組件的“屬性”對(duì)話框中單擊“生成數(shù)據(jù)集”超鏈接,打開“生成數(shù)據(jù)集”對(duì)話框,選中“新建”按鈕并在后面文本框中輸入“Lib綜合查詢”。</p><p>  (2)在“選擇要添加到數(shù)據(jù)集中的表”列表框中,選中5個(gè)表前面的復(fù)選框。</p><p>  (3)選中“將此數(shù)據(jù)集添加到設(shè)計(jì)器”復(fù)選框,單擊“確定”按鈕。</p><p>  這樣,將生成一個(gè)名稱為

56、“Lib綜合查詢”的數(shù)據(jù)集,該數(shù)據(jù)集以文件的形式存儲(chǔ),文件名為“Lib綜合查詢.xsd”。而在項(xiàng)目中,添加一個(gè)DataSet組件,名稱為“objLib綜合查詢”。</p><p>  設(shè)計(jì)完成的數(shù)據(jù)集如圖2.4所示。</p><p>  2.6.2窗體功能實(shí)現(xiàn)</p><p>  具體功能實(shí)現(xiàn)代碼見附1.7。</p><p>  圖2.3 綜

57、合查詢數(shù)據(jù)集</p><p><b>  第三章 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  3.1開發(fā)環(huán)境</b></p><p>  本系統(tǒng)使用VisualBasic.NET語言進(jìn)行開發(fā)。需要Microsoft .NET Framework SDK v1.1的支持。適用內(nèi)存不低于256M配備有Windows2000,

58、Windows2003,WindowsXP系統(tǒng)的計(jì)算機(jī)。</p><p><b>  3.2系統(tǒng)流程圖</b></p><p>  在本系統(tǒng)中準(zhǔn)備通過如下窗體來實(shí)現(xiàn)數(shù)據(jù)維護(hù)的功能。</p><p>  (1) 主窗體:管理著各個(gè)子窗體。</p><p>  (2)“讀者信息”子窗體:管理讀者信息。</p>

59、<p>  (3)“管理者信息”子窗體:管理用戶信息。</p><p>  (4)“出版社信息”子窗體:管理出版社信息。</p><p>  (5)“書籍信息”子窗體:管理書籍信息。</p><p>  (6)“借閱信息”子窗體:管理借閱信息。</p><p>  (7)“報(bào)表窗體”子窗體:顯示數(shù)據(jù)報(bào)表。</p>&l

60、t;p>  (8)“綜合查詢”子窗體:執(zhí)行用戶自定義的查詢。</p><p>  系統(tǒng)流程圖如圖3.1所示:</p><p>  圖3.1 系統(tǒng)流程圖</p><p>  3.3 程序調(diào)試情況</p><p>  在數(shù)據(jù)連接時(shí)一定要注意窗體和相應(yīng)顯示控件的綁定關(guān)系。在把系統(tǒng)從一臺(tái)計(jì)算機(jī)移植到另一臺(tái)計(jì)算機(jī)時(shí)一定要把數(shù)據(jù)文件library.

61、mdf和library_log.LDF同時(shí)移植,并對(duì)相應(yīng)的提供服務(wù)的SQL Server服務(wù)器進(jìn)行相應(yīng)的修改,否則數(shù)據(jù)正確連接并顯示。</p><p><b>  3.4 功能顯示</b></p><p>  運(yùn)行程序后首先顯示主窗體,如圖3.2所示。</p><p><b>  圖3.2 主界面</b></p>

62、;<p>  單擊“輸入/查看讀者信息”,就會(huì)彈出如圖3.3所示登錄框。</p><p><b>  圖3.3 登錄界面</b></p><p>  在登錄對(duì)話框中輸入用戶姓名和密碼,單擊“確認(rèn)”按鈕,就會(huì)對(duì)用戶身份進(jìn)行認(rèn)證,如果認(rèn)證通過,那么就會(huì)彈出如圖3.4所示的讀者信息管理窗體。</p><p>  圖3.4 讀者信息管理窗

63、體</p><p>  在“讀者信息”窗體中可以對(duì)讀者信息進(jìn)行維護(hù)操作,例如瀏覽讀者信息,添加記錄和刪除記錄等。</p><p>  單擊“輸入/查看書籍信息”,就會(huì)顯示“書籍信息”窗體,在該窗體中可以對(duì)書籍信息進(jìn)行維護(hù)操作。書籍信息維護(hù)窗體如圖3.5所示。</p><p>  圖3.5 書籍信息窗體</p><p>  單擊“輸入/查看借閱

64、信息”,就會(huì)顯示“借閱信息”窗體,在該窗體中可以對(duì)出版社信息進(jìn)行維護(hù)操作。出版社信息維護(hù)窗體如圖所示。</p><p>  圖3.6 借閱信息窗體</p><p>  單擊“輸入/查看出版社信息”,就會(huì)顯示“出版社信息”窗體,在該窗體中可以對(duì)借閱信息進(jìn)行維護(hù)操作。借閱信息維護(hù)窗體如圖3.7所示。</p><p>  圖3.7 出版社信息窗體</p>&

65、lt;p>  單擊“輸入/查看管理者信息”,結(jié)果如圖3.8所示。</p><p>  圖3.8 管理者信息窗體</p><p>  在主窗體上單擊“顯示報(bào)表”,那么就可以查看反映讀者信息和借閱信息的報(bào)表,借閱信息的報(bào)表如圖所示。</p><p><b>  圖3.9 報(bào)表窗體</b></p><p>  如果用戶在

66、運(yùn)行的主窗體上單擊“綜合查詢”,那么就可以查看針對(duì)不同的數(shù)據(jù)表進(jìn)行查詢操作。選擇查詢依據(jù)為“出版社信息”表查看其中的所有信息,結(jié)果如圖3.10所示。</p><p>  圖3.10 綜合查詢窗體</p><p><b>  3.5 結(jié)論</b></p><p>  在這個(gè)系統(tǒng)的開發(fā)過程中,值得注意的幾點(diǎn)有:</p><p&g

67、t;  (1)數(shù)據(jù)報(bào)表的實(shí)現(xiàn).報(bào)表是數(shù)據(jù)庫應(yīng)用程序的重要組成部分,通過報(bào)表,可以把數(shù)據(jù)庫中內(nèi)容經(jīng)過組織以后生動(dòng)地展示給用戶,VB.NET提供的Crystal Report可以大大提高報(bào)表的設(shè)計(jì)效率。</p><p>  (2)復(fù)雜查詢的實(shí)現(xiàn)。在程序運(yùn)行過程中,單擊窗體中的“綜合查詢”按鈕,就會(huì)彈出一個(gè)對(duì)話框,在該對(duì)話框中設(shè)置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄,所指定的查詢條件包括查詢的依據(jù),排序的依據(jù)

68、,運(yùn)算符等等。</p><p><b>  第四章 結(jié)束語</b></p><p>  通過做課程設(shè)計(jì),有幾點(diǎn)感想,歸納如下。</p><p>  1. 扎實(shí)的理論基礎(chǔ)。如果不掌握它們,很難寫出高水平的程序。而這一點(diǎn)又是我們所缺乏的。 </p><p>  2. 不鉆牛角尖。當(dāng)遇到障礙的時(shí)候,暫時(shí)遠(yuǎn)離電腦,當(dāng)重新開始工作

69、的時(shí)候,也許會(huì)發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。  </p><p>  3. 多與別人交流。三人行必有我?guī)煛?lt;/p><p>  4. 良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進(jìn)編排,變量的命名規(guī)則要始終保持一致。如果注釋和代碼不一致,那就更加糟糕。</p><p>  最后,特別要感謝xx老師在軟件工程和數(shù)據(jù)庫課程中認(rèn)真負(fù)責(zé)的教學(xué),才使得我能結(jié)合所學(xué)的知識(shí)完

70、成這一課程設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  1 薩師煊,王珊,數(shù)據(jù)庫系統(tǒng)概論(第三版). 北京:高等教育出版社,2000</p><p>  2 齊治昌,譚慶平,寧洪,軟件工程(第二版).北京:高等教育出版社,2004</p><p>  3 David I.Schneider,V

71、isual Basic.NET編程導(dǎo)論. 電子工業(yè)出版社,2003</p><p><b>  附錄:源代碼清單</b></p><p>  附1.1主窗體設(shè)計(jì)代碼如下:</p><p>  Public Class 主窗體</p><p>  Inherits System.Windows.Forms.Form<

72、/p><p>  #Region " Windows 窗體設(shè)計(jì)器生成的代碼 "</p><p>  ‘此處省略主窗體設(shè)計(jì)代碼</p><p>  #End Region</p><p>  Dim sender As System.Object</p><p>  Dim e As System.Eve

73、ntArgs</p><p>  Public Sub LoadDataSet()</p><p>  Dim objDataSetTemp As 圖書館管理.Lib管理者信息</p><p>  objDataSetTemp = New 圖書館管理.Lib管理者信息</p><p>  '臨時(shí)數(shù)據(jù)集objDataSetTemp保存從

74、FillDataSet()函數(shù)調(diào)用中返回的記錄</p><p>  '如果未出錯(cuò)則填充到主數(shù)據(jù)集 "objLib管理者信息"中</p><p><b>  Try</b></p><p>  Me.FillDataSet(objDataSetTemp)</p><p>  Catch eFil

75、lDataSet As System.Exception</p><p>  Throw eFillDataSet</p><p><b>  End Try</b></p><p><b>  Try</b></p><p>  objLib管理者信息.Clear()</p><

76、;p>  objLib管理者信息.Merge(objDataSetTemp)</p><p>  Catch eLoadMerge As System.Exception</p><p>  Throw eLoadMerge</p><p><b>  End Try</b></p><p><b>  

77、End Sub</b></p><p>  Public Sub FillDataSet(ByVal dataSet As 圖書館管理.Lib管理者信息)</p><p>  '實(shí)現(xiàn)打開連接,將OleDbDataAdapter1中的數(shù)據(jù)添加到數(shù)據(jù)集,關(guān)閉連接。</p><p>  dataSet.EnforceConstraints = Fals

78、e</p><p><b>  Try</b></p><p>  Me.OleDbConnection1.Open()</p><p>  Me.OleDbDataAdapter1.Fill(dataSet)</p><p>  Catch fillException As System.Exception</p

79、><p>  Throw fillException</p><p><b>  Finally</b></p><p>  dataSet.EnforceConstraints = True</p><p>  Me.OleDbConnection1.Close()</p><p><b>

80、;  End Try</b></p><p><b>  End Sub</b></p><p>  Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click</p><p>&l

81、t;b>  End Sub</b></p><p>  Private Sub LinkLabel_退出_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_退出.LinkClicked</p&g

82、t;<p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub LinkLabel_讀者信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabel

83、LinkClickedEventArgs) Handles LinkLabel_讀者信息.LinkClicked</p><p>  btn_讀者信息_Click(sender, e)</p><p><b>  End Sub</b></p><p>  Private Sub LinkLabel_書籍信息_LinkClicked(ByVal

84、 sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_書籍信息.LinkClicked</p><p>  btn_書籍信息_Click(sender, e)</p><p><b>  End Sub</b>

85、</p><p>  Private Sub 主窗體_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load</p><p><b>  End Sub</b></p><p>  Private Sub LinkLabel_出版社

86、信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_出版社信息.LinkClicked</p><p>  btn_出版社信息_Click(sender, e)</p><p><b&

87、gt;  End Sub</b></p><p>  Private Sub LinkLabel_借閱信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_借閱信息.LinkClicked</p&g

88、t;<p>  btn_借閱信息_Click(sender, e)</p><p><b>  End Sub</b></p><p>  Private Sub LinkLabel_查詢_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabe

89、lLinkClickedEventArgs) Handles LinkLabel_查詢.LinkClicked</p><p>  btn_查詢_Click(sender, e)</p><p><b>  End Sub</b></p><p>  Private Sub LinkLabel_報(bào)表_LinkClicked(ByVal send

90、er As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_報(bào)表.LinkClicked</p><p>  btn_報(bào)表_Click(sender, e)</p><p><b>  End Sub</b></p>

91、;<p>  Private Sub LinkLabel_管理者信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_管理者信息.LinkClicked</p><p>  btn_管理者信息_Clic

92、k(sender, e)</p><p><b>  End Sub</b></p><p>  Function UserCheck(ByVal sender As System.Object, ByVal e As System.EventArgs) As Boolean</p><p>  Dim dlg_Login As Login&l

93、t;/p><p>  dlg_Login = New Login</p><p>  If (dlg_Login.ShowDialog = DialogResult.OK) Then</p><p><b>  Try</b></p><p>  Me.LoadDataSet()</p><p>  

94、Catch eLoad As System.Exception</p><p>  System.Windows.Forms.MessageBox.Show(eLoad.Message)</p><p><b>  End Try</b></p><p>  Dim i As Integer</p><p>  Me.B

95、indingContext(objLib管理者信息, "管理者信息").Position = 0</p><p>  For i = 0 To Me.BindingContext(objLib管理者信息, "管理者信息").Count - 1</p><p>  If Not Me.BindingContext(objLib管理者信息, "

96、管理者信息").Current.GetType Is GetType(DataRowView) Then</p><p><b>  Exit For</b></p><p><b>  End If</b></p><p>  Dim drv As DataRowView = CType(Me.BindingC

97、ontext(objLib管理者信息, "管理者信息").Current, DataRowView)</p><p>  If Trim(drv("用戶名稱")) = dlg_Login.Txt_用戶姓名.Text Then</p><p>  If Trim(drv("密碼")) = dlg_Login.Txt_用戶密碼.Tex

98、t Then</p><p>  Return True</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  Me.BindingContext(objLib管理者信息, "管理者信息").Position +=

99、 1</p><p><b>  Next</b></p><p><b>  End If</b></p><p>  UserCheck = False</p><p>  End Function</p><p>  Private Sub btn_讀者信息_Click

100、(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_讀者信息.Click</p><p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 讀者信息</p><p>  dlg = New 讀者信息</p>

101、<p>  dlg.ShowDialog()</p><p><b>  Else</b></p><p>  MessageBox.Show("登錄失?。?quot;, "登錄", MessageBoxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p

102、><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub btn_書籍信息_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_書籍信息.Cl

103、ick</p><p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 書籍信息</p><p>  dlg = New 書籍信息</p><p>  dlg.ShowDialog()</p><p><b>  Else</b></p

104、><p>  MessageBox.Show("登錄失敗!", "登錄", MessageBoxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p><p><b>  End If</b></p><p><b>  End Su

105、b</b></p><p>  Private Sub btn_出版社信息_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_出版社信息.Click</p><p>  If UserCheck(sender, e) Then</p><p>  D

106、im dlg As 出版社信息</p><p>  dlg = New 出版社信息</p><p>  dlg.ShowDialog()</p><p><b>  Else</b></p><p>  MessageBox.Show("登錄失敗!", "登錄", MessageB

107、oxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub btn_借閱信息_Click(ByVal sender As

108、 System.Object, ByVal e As System.EventArgs) Handles btn_借閱信息.Click</p><p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 借閱信息</p><p>  dlg = New 借閱信息</p><p>  dlg.

109、ShowDialog()</p><p><b>  Else</b></p><p>  MessageBox.Show("登錄失?。?quot;, "登錄", MessageBoxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p><p>&

110、lt;b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub btn_退出_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_退出.Click</p><p

111、><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub btn_查詢_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_查詢.Click</p><

112、;p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 綜合查詢</p><p>  dlg = New 綜合查詢</p><p>  dlg.ShowDialog()</p><p><b>  Else</b></p><p>  M

113、essageBox.Show("登錄失?。?quot;, "登錄", MessageBoxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p><p><b>  End If</b></p><p><b>  End Sub</b></p&

114、gt;<p>  Private Sub btn_報(bào)表_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_報(bào)表.Click</p><p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 報(bào)表窗體</p>

115、<p>  dlg = New 報(bào)表窗體</p><p>  dlg.ShowDialog()</p><p><b>  Else</b></p><p>  MessageBox.Show("登錄失?。?quot;, "登錄", MessageBoxButtons.OK, _</p>

116、<p>  MessageBoxIcon.Stop)</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub btn_管理者信息_Click(ByVal sender As System.Object, ByVal e A

117、s System.EventArgs) Handles btn_管理者信息.Click</p><p>  If UserCheck(sender, e) Then</p><p>  Dim dlg As 管理者信息</p><p>  dlg = New 管理者信息</p><p>  dlg.ShowDialog()</p>

118、<p><b>  Else</b></p><p>  MessageBox.Show("登錄失敗!", "登錄", MessageBoxButtons.OK, _</p><p>  MessageBoxIcon.Stop)</p><p><b>  End If</b

119、></p><p><b>  End Sub</b></p><p>  Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint</p><p>

120、;<b>  End Sub</b></p><p><b>  End Class</b></p><p>  附1.2讀者信息窗體設(shè)計(jì)代碼如下:</p><p>  Public Class 讀者信息</p><p>  Inherits System.Windows.Forms.Form<

121、;/p><p>  #Region " Windows 窗體設(shè)計(jì)器生成的代碼 "</p><p>  ‘此處省略主窗體設(shè)計(jì)代碼</p><p>  #End Region</p><p>  Private Sub GroupBox_Enter(ByVal sender As System.Object, ByVal e As

122、 System.EventArgs) Handles GroupBox.Enter</p><p><b>  End Sub</b></p><p>  Private Sub edit證號(hào)_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit證號(hào).T

123、extChanged</p><p><b>  End Sub</b></p><p>  Private Sub OleDbDataAdapter1_RowUpdated(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbRowUpdatedEventArgs) Handles Ole

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論