版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)---基于cs模式的圖書管理系統(tǒng)的設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--- 圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)——圖書管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書管理
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論