

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告書(shū)</p><p> 題目:基于C/S模式的圖書(shū)管理系統(tǒng)的設(shè)計(jì)</p><p><b> 內(nèi)容提要</b></p><p> 本文介紹了一個(gè)基于Client/Server模式的高校圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。運(yùn)用Visual Basic.Net結(jié)合Microsoft SQL Server 2000開(kāi)發(fā)
2、的登錄模塊主要用于驗(yàn)證用戶身份,進(jìn)行有效的操作。從主界面模塊在驗(yàn)證后進(jìn)入每個(gè)子模塊進(jìn)行各個(gè)子系統(tǒng)的具體功能操作。在整個(gè)系統(tǒng)設(shè)計(jì)中充分利用了模塊化的設(shè)計(jì)思想和開(kāi)發(fā)方法。</p><p> 關(guān)鍵詞 C/S SQL2000 數(shù)據(jù)庫(kù) 課程設(shè)計(jì)</p><p><b> 目 錄</b></p><p> 第1章 應(yīng)用背景與需求說(shuō)明…………………
3、………………………………5</p><p> 1.1 背景…………………………………………………………………5</p><p> 1.2 數(shù)據(jù)需求……………………………………………………………5</p><p> 1.3 事務(wù)需求……………………………………………………………5</p><p> 1.4 系統(tǒng)開(kāi)發(fā)平臺(tái)………………………
4、………………………………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ì)………………………………………………………7</p><p> 2.1.1 實(shí)體列表…………………
5、…………………………………7</p><p> 2.1.2 系統(tǒng)的E-R模型……………………………………………8</p><p> 2.2 設(shè)計(jì)數(shù)據(jù)庫(kù)…………………………………………………………8</p><p> 2.2.1 創(chuàng)建數(shù)據(jù)庫(kù)…………………………………………………8</p><p> 2.2.2 創(chuàng)建數(shù)據(jù)表……………………
6、……………………………8</p><p> 2.2.3 連接數(shù)據(jù)庫(kù)…………………………………………………9</p><p> 2.3主窗體設(shè)計(jì)…………………………………………………………10</p><p> 2.3.1 設(shè)計(jì)登錄界面………………………………………………10</p><p> 2.3.2 添加數(shù)據(jù)組件………………………
7、………………………10</p><p> 2.3.3 生成數(shù)據(jù)集…………………………………………………11</p><p> 2.3.4 設(shè)計(jì)代碼……………………………………………………11</p><p> 2.4讀者信息……………………………………………………………12</p><p> 2.4.1 設(shè)計(jì)顯示界面………………………
8、………………………12</p><p> 2.4.2 添加數(shù)據(jù)組件………………………………………………12</p><p> 2.4.3 功能實(shí)現(xiàn)……………………………………………………12</p><p> 2.5顯示報(bào)表……………………………………………………………12</p><p> 2.5.1 添加讀者信息報(bào)表…………………
9、………………………13</p><p> 2.5.2 添加借閱情況表……………………………………………13</p><p> 2.6綜合查詢的實(shí)現(xiàn)……………………………………………………14</p><p> 2.6.1 添加數(shù)據(jù)組件………………………………………………14</p><p> 2.6.2 窗體功能實(shí)現(xiàn)………………………
10、………………………14</p><p> 第3章 系統(tǒng)實(shí)現(xiàn)………………………………………………………………15</p><p> 3.1開(kāi)發(fā)環(huán)境……………………………………………………………15</p><p> 3.2系統(tǒng)流程圖…………………………………………………………15</p><p> 3.3程序調(diào)試情況…………………………
11、……………………………16</p><p> 3.4功能顯示……………………………………………………………16</p><p> 3.5結(jié)論…………………………………………………………………20</p><p> 第4章 結(jié)束語(yǔ)…………………………………………………………………20</p><p> 參考文獻(xiàn) ………………………………
12、………………………………………21</p><p> 附錄:源代碼清單 ……………………………………………………………21</p><p><b> 第一章 問(wèn)題描述</b></p><p> 1.1 圖書(shū)管理系統(tǒng)簡(jiǎn)介</p><p> 本系統(tǒng)利用VB.NET處理數(shù)據(jù)庫(kù)的功能,實(shí)現(xiàn)對(duì)圖書(shū)館信息的管理。主要功能為管
13、理有關(guān)讀者、出版社、書(shū)籍、借閱和管理者的信息等。</p><p> 本系統(tǒng)的結(jié)構(gòu)分為讀者信息管理模塊、出版社信息管理模塊、書(shū)籍信息管理模塊、借閱信息管理模塊、管理者管理信息模塊、報(bào)表顯示模塊和查詢處理模塊。</p><p><b> 1.2 數(shù)據(jù)需求</b></p><p> 根據(jù)系統(tǒng)的需求,首先將要記錄的信息分類,要記錄的信息如下。&l
14、t;/p><p> ?、抛x者信息:包括證號(hào)、姓名、聯(lián)系方式、已借書(shū)數(shù)目、讀者類別和能否借書(shū)等。</p><p> ?、瞥霭嫔缧畔ⅲ喊Q、地址、網(wǎng)址、E-mail等。</p><p> ?、菚?shū)籍信息:包括書(shū)號(hào)、叢書(shū)系列、作者、責(zé)任編輯、字?jǐn)?shù)、定價(jià)、出版時(shí)間、主題分類、二級(jí)分類、館內(nèi)借閱分類、總冊(cè)數(shù)、庫(kù)存量、出版社和書(shū)名等。</p><p>
15、⑷借閱信息:包括借閱日期、應(yīng)歸還日期、實(shí)際歸還日期、能否續(xù)借、書(shū)號(hào)和證號(hào)等。</p><p> ?、晒芾碚咝畔ⅲ喊ü芾碚呙Q、對(duì)應(yīng)密碼和對(duì)應(yīng)權(quán)限等。</p><p> 根據(jù)這些需要,本系統(tǒng)需要“讀者信息”表,“出版社信息”表,“書(shū)籍信息”表,“借閱信息”表和“管理者信息”表。</p><p><b> 1.3 事務(wù)需求</b></p
16、><p> 經(jīng)過(guò)實(shí)際考察、咨詢和分析,高等院校圖書(shū)管理系統(tǒng)主要應(yīng)該具有以下功能模塊,如1.1圖。</p><p> ?、旁谧x者信息管理部分,要求如下。</p><p><b> 可以瀏覽讀者信息。</b></p><p> 可以對(duì)讀者信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p> ?、圃?/p>
17、出版社信息管理部分,要求如下。</p><p> 可以瀏覽出版社信息。</p><p> 可以對(duì)出版社信息進(jìn)行維護(hù),包括添加及刪除等操作。</p><p> ⑶在書(shū)籍信息管理部分,要求如下。</p><p><b> 可以瀏覽書(shū)籍信息。</b></p><p> 可以對(duì)書(shū)籍信息進(jìn)行維護(hù),
18、包括添加及刪除等操作。</p><p> ⑷在借閱信息管理部分,要求如下。</p><p><b> 可以瀏覽借閱信息。</b></p><p> 可以對(duì)借閱信息進(jìn)行維護(hù)操作。</p><p> ?、稍诠芾碚咝畔⒐芾聿糠?要求如下。</p><p> 顯示當(dāng)前數(shù)據(jù)庫(kù)中管理者情況。</
19、p><p> 對(duì)管理者信息維護(hù)操作。</p><p> 圖1.1 系統(tǒng)業(yè)務(wù)邏輯關(guān)系</p><p> 1.4 系統(tǒng)開(kāi)發(fā)平臺(tái)</p><p><b> 前臺(tái):</b></p><p><b> 硬件要求:</b></p><p> CPU: Pe
20、ntium 4 2.0GHz以上IBM兼容機(jī)</p><p> 內(nèi)存:512MB以上容量</p><p> 顯卡:32MB或以上顯存之AGP接口顯卡</p><p><b> 2、軟件要求:</b></p><p> 操作系統(tǒng):Microsoft Windows 2000/XP</p><p&
21、gt; 開(kāi)發(fā)工具:Microsoft Visual Studio.Net2003</p><p><b> 數(shù)據(jù)庫(kù)服務(wù)器:</b></p><p><b> 硬件要求:</b></p><p> CPU: Pentium4 2.8GHz以上IBM兼容機(jī)</p><p> 內(nèi)存:1024MB
22、以上容量</p><p> 顯卡:32MB或以上顯存之AGP接口顯卡</p><p><b> 軟件要求:</b></p><p> 操作系統(tǒng):Microsoft Windows 2000 Server</p><p> 數(shù)據(jù)庫(kù)服務(wù)器:Microsoft SQL 2000 Server</p>&l
23、t;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ò)拓?fù)浣Y(jié)構(gòu)</p><p> 本設(shè)計(jì)采用客戶機(jī)/服務(wù)器(C/S)體系,
24、數(shù)據(jù)的儲(chǔ)存管理功能較為透明性,可以合理均衡事務(wù)的處理,充分保證數(shù)據(jù)的完整性和一致性。</p><p> 圖1.2 C/S模式結(jié)構(gòu)</p><p><b> 第二章 解決方案</b></p><p> 數(shù)據(jù)庫(kù)主要著重于數(shù)據(jù)對(duì)象的屬性和數(shù)據(jù)對(duì)象之間的關(guān)系的分析。一般采用E-R圖,即實(shí)體-關(guān)系模型來(lái)分析數(shù)據(jù)對(duì)象的屬性和數(shù)據(jù)對(duì)象之間的關(guān)系。&l
25、t;/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> 該圖書(shū)管理系統(tǒng)的E-R模型,如下圖所示</p><p><b> 2.2 設(shè)計(jì)數(shù)據(jù)庫(kù)</b></p><p> 2.
26、2.1創(chuàng)建數(shù)據(jù)庫(kù)</p><p> (1)在服務(wù)器資源管理器中的任一節(jié)點(diǎn)右擊。</p><p> (2)執(zhí)行快捷菜單中的“新建數(shù)據(jù)庫(kù)”命令,并在打開(kāi)的“創(chuàng)建數(shù)據(jù)庫(kù)”對(duì)話框中輸入數(shù)據(jù)庫(kù)名Library,選中“使用WindowsNT集成安全性”單選按鈕。</p><p> (3)單擊“確定”按鈕,則新建的數(shù)據(jù)庫(kù)就會(huì)出現(xiàn)在服務(wù)器上。</p><p
27、> 2.2.2創(chuàng)建數(shù)據(jù)表</p><p> 創(chuàng)建數(shù)據(jù)庫(kù)后,為L(zhǎng)ibrary數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下。</p><p> (1)在服務(wù)器資源管理器中右擊數(shù)據(jù)庫(kù)Library下的“表”文件夾。在彈出的快捷菜單中執(zhí)行“新建表”命令,出現(xiàn)表設(shè)計(jì)器。</p><p> (2)添加表的字段和其他詳細(xì)資料。各表數(shù)據(jù)結(jié)構(gòu)如下表所示。</p><p
28、> 表2.1 圖書(shū)管理系統(tǒng)各表數(shù)據(jù)結(jié)構(gòu)</p><p> 2.2.3連接數(shù)據(jù)庫(kù)</p><p> 為數(shù)據(jù)庫(kù)Library和本系統(tǒng)之間建立一個(gè)數(shù)據(jù)連接。</p><p> (1)在服務(wù)器資源管理器中右擊“數(shù)據(jù)連接”節(jié)點(diǎn)。在彈出的快捷菜單中執(zhí)行“添加連接”命令,打開(kāi)Data Link Properties對(duì)話框。切換到Provider選項(xiàng)卡,選中列表框中的
29、Microsoft OLE DB Provider for SQL Server項(xiàng)。單擊“下一步”切換到Connection選項(xiàng)卡。</p><p> (2)在其中的第一個(gè)下拉列表框中選擇數(shù)據(jù)庫(kù)所在服務(wù)器名稱。輸入登錄服務(wù)器信息后選擇數(shù)據(jù)庫(kù)Library,然后單擊Test Connection按鈕。如果測(cè)試成功,單擊“確定”按鈕。</p><p><b> 2.3主窗體設(shè)計(jì)&
30、lt;/b></p><p> 創(chuàng)建一個(gè)新的“Windows應(yīng)用程序”類型的項(xiàng)目,名為“圖書(shū)館管理”。將默認(rèn)創(chuàng)建的窗體命名為“主窗體”,把“主窗體”作為本系統(tǒng)中的主界面。</p><p> 在窗體中添加兩個(gè)Pannel控件,7個(gè)Button控件和7個(gè)Linklabel控件。</p><p> 2.3.1設(shè)計(jì)登錄界面</p><p>
31、; 設(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)卡,添加OleDbDataAdapter組件。</p><p> (1)在工具
32、箱中單擊OleDbDataAdapter組件,在窗體任意位置拖動(dòng)出一個(gè)虛框矩形后釋放左鍵彈出“數(shù)據(jù)適配器配置向?qū)А睂?duì)話框。</p><p> (2) 單擊“下一步”,在打開(kāi)的對(duì)話框中選擇前面建好的數(shù)據(jù)連接,然后單擊“下一步”。</p><p> (3)選中“使用SQL語(yǔ)句”,然后單擊“下一步”進(jìn)入“生成SQL語(yǔ)句”對(duì)話框。</p><p> (4)在其中的多行
33、文本框直接輸入SQL語(yǔ)句“SELECT 管理者信息.* FROM 管理者信息”。</p><p> (5)單擊“下一步”按鈕,進(jìn)入“查看向?qū)ЫY(jié)果”,單擊“完成”按鈕完成數(shù)據(jù)適配器配置。</p><p> 配置數(shù)據(jù)適配器后,在主窗體上就會(huì)自動(dòng)添加一個(gè)OleDbConnection控件。</p><p> 2.3.3生成數(shù)據(jù)集</p><p&g
34、t; 生成數(shù)據(jù)集的步驟如下:</p><p> (1)單擊OleDbDataAdapter控件“屬性”對(duì)話框中的“生成數(shù)據(jù)集”鏈接,打開(kāi)“生成數(shù)據(jù)集”對(duì)話框。</p><p> (2)在其中選中“新建”單選按鈕,并在其后面的文本框中輸入“Lib管理者信息”。</p><p> (3)在“選擇要添加到數(shù)據(jù)集中的表”列表框中列出了前面添加的OleDbDataAd
35、apter組件所連接的表,選中該表名前面的復(fù)選框。</p><p> (4)選中“將此數(shù)據(jù)集添加到設(shè)計(jì)器”復(fù)選框,單擊“確定”按鈕</p><p> 這樣,將生成一個(gè)名稱為“Lib管理者信息”的數(shù)據(jù)集,該數(shù)據(jù)集以文件形式存儲(chǔ),文件名為“Lib管理者信息.xsd”。而在項(xiàng)目中,添加了一個(gè)DataSet組件,名為“objLib管理者信息”。</p><p> 在解
36、決方案資源管理器中右擊該項(xiàng)目,在彈出快捷菜單中單擊“屬性”菜單項(xiàng)。在打開(kāi)的“屬性頁(yè)”對(duì)話框中的“啟動(dòng)對(duì)象”下拉列表框中選擇“主窗體”選項(xiàng)。單擊“確定”按鈕,這樣該項(xiàng)目啟動(dòng)時(shí),就會(huì)從主窗體開(kāi)始啟動(dòng)。</p><p><b> 2.3.4設(shè)計(jì)代碼</b></p><p> 在程序運(yùn)行過(guò)程中,如果想通過(guò)單擊LinkLabel控件或Button控件進(jìn)入系統(tǒng)中的各個(gè)功能模塊
37、(如顯示讀者信息等),就會(huì)彈出一個(gè)對(duì)話框要求輸入用戶名和密碼.單擊"確認(rèn)"按鈕,程序就會(huì)到數(shù)據(jù)庫(kù)的"管理者信息"表中查找該用戶名和密碼是否存在.如果存在,允許進(jìn)入功能模塊.</p><p> 完成登錄功能的主要代碼集中在UserCheck函數(shù)中.在程序運(yùn)行過(guò)程中,在登錄窗體的"用戶姓名"和"用戶密碼"文本框中輸入用戶名和密碼后,單擊
38、"確認(rèn)"按鈕就會(huì)觸發(fā)UserCheck函數(shù)并執(zhí)行其中的代碼.如果UserCheck函數(shù)返回True,那么允許用戶的操作;否則拒絕用戶的操作請(qǐng)求.</p><p> 在UserCheck函數(shù)中首先定義Login類型的變量dlg_Login,然后通過(guò)ShowDialog方法來(lái)顯示登錄窗體.如果用戶在登錄窗體中輸入用戶姓名和密碼,并且單擊了"確認(rèn)"按鈕,那么自動(dòng)調(diào)用一個(gè)自定義函
39、數(shù)LoadDataSet(),由此函數(shù)進(jìn)行數(shù)據(jù)加載.如果出錯(cuò),顯示錯(cuò)誤信息,回滾整個(gè)事務(wù).</p><p> 具體設(shè)計(jì)代碼見(jiàn)附錄1.1。</p><p><b> 2.4 讀者信息</b></p><p> 在當(dāng)前項(xiàng)目中添加一個(gè)“Windows窗體”,將窗體命名為“讀者信息”。</p><p> 2.4.1設(shè)計(jì)顯
40、示界面</p><p> 在窗體上添加1個(gè)GroupBox控件,9個(gè)Button控件,5個(gè)TextBox控件,1個(gè)CheckBox控件和7個(gè)Label控件。</p><p> 各按鈕控件是為了執(zhí)行相應(yīng)的操作。各TextBox控件和CheckBox控件用來(lái)顯示數(shù)據(jù)集中的數(shù)據(jù),這個(gè)功能通過(guò)設(shè)置DataBindings屬性來(lái)實(shí)現(xiàn)。</p><p> 2.4.2添加數(shù)
41、據(jù)組件</p><p> 向窗體添加OleDbConnection組件,命名為OleDbConnection1后將其選中,在“屬性”對(duì)話框的ConnectionString欄單擊,選擇所建數(shù)據(jù)庫(kù)Library。</p><p> 添加OleDbDataAdapter組件和生成數(shù)據(jù)集的方法步驟如2.3.2及2.3.3。</p><p> 設(shè)置各TextBox控件
42、的DataBinding屬性來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)集中數(shù)據(jù)的顯示(以Edit證號(hào)為例)。</p><p> (1)選中“Edit證號(hào)”控件單擊“屬性”對(duì)話框。</p><p> (2)單擊DataBinding屬性前面的+號(hào)打開(kāi)該屬性的詳細(xì)列表。</p><p> (3)設(shè)置Text屬性:在該屬性后面欄中單擊并選擇所對(duì)應(yīng)字段。</p><p>
43、 (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)代碼見(jiàn)附1.2。</p><p> “管理者信息”,“出版社信息”,“書(shū)籍信息”,“借閱信息”和該模塊
44、的設(shè)計(jì)思路及方法步驟完全一致,在此從略。</p><p><b> 2.5 顯示報(bào)表</b></p><p> 在當(dāng)前項(xiàng)目中添加一個(gè)“Windows窗體”,命名為“報(bào)表窗體”,該模塊顯示當(dāng)前數(shù)據(jù)庫(kù)中讀者信息和借閱信息的報(bào)表。</p><p> 在窗體上添加一個(gè)CrystalReportViewer1,它充當(dāng)報(bào)表顯示的窗體,然后在窗體中添加
45、一個(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)表</p><p> (1)在開(kāi)發(fā)環(huán)境中選擇菜單“項(xiàng)目”中的“添加新項(xiàng)”
46、對(duì)話框中選擇Crystal Report選項(xiàng)。</p><p> (2)在“名稱”文本框中輸入報(bào)表名“讀者信息報(bào)表.rpt”,單擊“打開(kāi)”按鈕,就會(huì)彈出入圖所示的“Crystal Report庫(kù)”對(duì)話框。</p><p> (3)在其對(duì)話框中選擇“使用報(bào)表專家”單選按鈕,在“選擇專家”列表框中選擇“標(biāo)準(zhǔn)”選項(xiàng),單擊“確定”按鈕,進(jìn)入下一步。</p><p>
47、(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)在其中設(shè)置連接信息,單擊“完成”按鈕,返回“標(biāo)準(zhǔn)報(bào)表專家”對(duì)話框。</p><
48、;p> (6)選擇數(shù)據(jù)源為OLE DB(ADO)中的Library數(shù)據(jù)庫(kù),并且選中其中的“讀者信息”表。單擊“插入表”按鈕,把“讀者信息”表插入到報(bào)表中,單擊“下一步”按鈕。</p><p> (7)在“字段”選項(xiàng)卡中單擊“全部添加”按鈕,把“讀者信息”表中的所有字段添加到報(bào)表中,單擊“完成”按鈕就完成報(bào)表的設(shè)計(jì)。</p><p> 設(shè)計(jì)完成的“讀者信息報(bào)表”如圖所示。<
49、/p><p> 圖2.1 讀者信息報(bào)表效果圖</p><p> 2.5.2添加借閱情況報(bào)表</p><p> 添加借閱情況報(bào)表的過(guò)程與添加讀者信息報(bào)表過(guò)程大致相同,不同之處在于插入到報(bào)表中的數(shù)據(jù)表為“讀者信息”。</p><p> 2.6 綜合查詢的實(shí)現(xiàn)</p><p> 在程序運(yùn)行過(guò)程中,單擊主窗體的“綜合查詢
50、”按鈕,就會(huì)彈出一個(gè)對(duì)話框。在其中設(shè)置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄。</p><p> 為此需要在項(xiàng)目中添加一個(gè)窗體“綜合查詢”。</p><p> 還需要設(shè)置“CmbBox運(yùn)算符”控件的Items屬性。單擊窗體上“CmbBox運(yùn)算符”控件,然后在“屬性”對(duì)話框中單擊Items欄,就會(huì)出現(xiàn)一個(gè)按鈕,單擊按鈕,在打開(kāi)的窗口中如圖2.2所示設(shè)置字符串集合編輯器字符串。&l
51、t;/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)行配置。選擇數(shù)據(jù)連接后輸入SQL語(yǔ)句“SELECT 出版社信息.* FROM 出版社信息”。<
52、;/p><p> 同樣再為窗體添加四個(gè)OleDbDataAdapter組件,</p><p> 在"生成SQL語(yǔ)句"對(duì)話框的多行文本框中分別輸入SQL語(yǔ)句“SELECT 讀者信息.* FROM 讀者信息”, “SELECT 管理者信息.* FROM 管理者信息” ,“SELECT 借閱信息.* FROM 借閱信息”, “SELECT 書(shū)籍信息.* FROM 書(shū)籍信息”
53、,然后單擊“完成”按鈕,Name屬性分別設(shè)置為OleDbDataAdapter2,OleDbDataAdapter3,OleDbDataAdapter4,OleDbDataAdapter5完成數(shù)據(jù)適配器的配置。</p><p> 生成數(shù)據(jù)集的步驟如下。</p><p> (1)在OleDbDataAdapter1組件的“屬性”對(duì)話框中單擊“生成數(shù)據(jù)集”超鏈接,打開(kāi)“生成數(shù)據(jù)集”對(duì)話框,
54、選中“新建”按鈕并在后面文本框中輸入“Lib綜合查詢”。</p><p> (2)在“選擇要添加到數(shù)據(jù)集中的表”列表框中,選中5個(gè)表前面的復(fù)選框。</p><p> (3)選中“將此數(shù)據(jù)集添加到設(shè)計(jì)器”復(fù)選框,單擊“確定”按鈕。</p><p> 這樣,將生成一個(gè)名稱為“Lib綜合查詢”的數(shù)據(jù)集,該數(shù)據(jù)集以文件的形式存儲(chǔ),文件名為“Lib綜合查詢.xsd”。而
55、在項(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)代碼見(jiàn)附1.7。</p><p> 圖2.3 綜合查詢數(shù)據(jù)集</p><p><b> 第三章 系統(tǒng)實(shí)現(xiàn)
56、</b></p><p><b> 3.1開(kāi)發(fā)環(huán)境</b></p><p> 本系統(tǒng)使用VisualBasic.NET語(yǔ)言進(jìn)行開(kāi)發(fā)。需要Microsoft .NET Framework SDK v1.1的支持。適用內(nèi)存不低于256M配備有Windows2000,Windows2003,WindowsXP系統(tǒng)的計(jì)算機(jī)。</p><p&
57、gt;<b> 3.2系統(tǒng)流程圖</b></p><p> 在本系統(tǒng)中準(zhǔn)備通過(guò)如下窗體來(lái)實(shí)現(xiàn)數(shù)據(jù)維護(hù)的功能。</p><p> (1) 主窗體:管理著各個(gè)子窗體。</p><p> (2)“讀者信息”子窗體:管理讀者信息。</p><p> (3)“管理者信息”子窗體:管理用戶信息。</p>&l
58、t;p> (4)“出版社信息”子窗體:管理出版社信息。</p><p> (5)“書(shū)籍信息”子窗體:管理書(shū)籍信息。</p><p> (6)“借閱信息”子窗體:管理借閱信息。</p><p> (7)“報(bào)表窗體”子窗體:顯示數(shù)據(jù)報(bào)表。</p><p> (8)“綜合查詢”子窗體:執(zhí)行用戶自定義的查詢。</p>&
59、lt;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.mdf和library_log.LDF同時(shí)移植,并對(duì)相應(yīng)的提供服務(wù)的SQL Server服務(wù)
60、器進(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><p> 單擊“輸入/查看讀者信息”,就會(huì)彈出如圖3.3所示登錄框。<
61、;/p><p><b> 圖3.3 登錄界面</b></p><p> 在登錄對(duì)話框中輸入用戶姓名和密碼,單擊“確認(rèn)”按鈕,就會(huì)對(duì)用戶身份進(jìn)行認(rèn)證,如果認(rèn)證通過(guò),那么就會(huì)彈出如圖3.4所示的讀者信息管理窗體。</p><p> 圖3.4 讀者信息管理窗體</p><p> 在“讀者信息”窗體中可以對(duì)讀者信息進(jìn)行維護(hù)操
62、作,例如瀏覽讀者信息,添加記錄和刪除記錄等。</p><p> 單擊“輸入/查看書(shū)籍信息”,就會(huì)顯示“書(shū)籍信息”窗體,在該窗體中可以對(duì)書(shū)籍信息進(jìn)行維護(hù)操作。書(shū)籍信息維護(hù)窗體如圖3.5所示。</p><p> 圖3.5 書(shū)籍信息窗體</p><p> 單擊“輸入/查看借閱信息”,就會(huì)顯示“借閱信息”窗體,在該窗體中可以對(duì)出版社信息進(jìn)行維護(hù)操作。出版社信息維護(hù)窗體
63、如圖所示。</p><p> 圖3.6 借閱信息窗體</p><p> 單擊“輸入/查看出版社信息”,就會(huì)顯示“出版社信息”窗體,在該窗體中可以對(duì)借閱信息進(jìn)行維護(hù)操作。借閱信息維護(hù)窗體如圖3.7所示。</p><p> 圖3.7 出版社信息窗體</p><p> 單擊“輸入/查看管理者信息”,結(jié)果如圖3.8所示。</p>
64、<p> 圖3.8 管理者信息窗體</p><p> 在主窗體上單擊“顯示報(bào)表”,那么就可以查看反映讀者信息和借閱信息的報(bào)表,借閱信息的報(bào)表如圖所示。</p><p><b> 圖3.9 報(bào)表窗體</b></p><p> 如果用戶在運(yùn)行的主窗體上單擊“綜合查詢”,那么就可以查看針對(duì)不同的數(shù)據(jù)表進(jìn)行查詢操作。選擇查詢依據(jù)為“
65、出版社信息”表查看其中的所有信息,結(jié)果如圖3.10所示。</p><p> 圖3.10 綜合查詢窗體</p><p><b> 3.5 結(jié)論</b></p><p> 在這個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中,值得注意的幾點(diǎn)有:</p><p> (1)數(shù)據(jù)報(bào)表的實(shí)現(xiàn).報(bào)表是數(shù)據(jù)庫(kù)應(yīng)用程序的重要組成部分,通過(guò)報(bào)表,可以把數(shù)據(jù)庫(kù)中內(nèi)
66、容經(jīng)過(guò)組織以后生動(dòng)地展示給用戶,VB.NET提供的Crystal Report可以大大提高報(bào)表的設(shè)計(jì)效率。</p><p> (2)復(fù)雜查詢的實(shí)現(xiàn)。在程序運(yùn)行過(guò)程中,單擊窗體中的“綜合查詢”按鈕,就會(huì)彈出一個(gè)對(duì)話框,在該對(duì)話框中設(shè)置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄,所指定的查詢條件包括查詢的依據(jù),排序的依據(jù),運(yùn)算符等等。</p><p><b> 第四章 結(jié)束語(yǔ)
67、</b></p><p> 通過(guò)做課程設(shè)計(jì),有幾點(diǎn)感想,歸納如下。</p><p> 1. 扎實(shí)的理論基礎(chǔ)。如果不掌握它們,很難寫(xiě)出高水平的程序。而這一點(diǎn)又是我們所缺乏的。 </p><p> 2. 不鉆牛角尖。當(dāng)遇到障礙的時(shí)候,暫時(shí)遠(yuǎn)離電腦,當(dāng)重新開(kāi)始工作的時(shí)候,也許會(huì)發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解?! ?lt;/p><p>
68、; 3. 多與別人交流。三人行必有我?guī)煛?lt;/p><p> 4. 良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進(jìn)編排,變量的命名規(guī)則要始終保持一致。如果注釋和代碼不一致,那就更加糟糕。</p><p> 最后,特別要感謝史開(kāi)宗老師在軟件工程和數(shù)據(jù)庫(kù)課程中認(rèn)真負(fù)責(zé)的教學(xué),才使得我能結(jié)合所學(xué)的知識(shí)完成這一課程設(shè)計(jì)。</p><p><b> 參考文獻(xiàn)&
69、lt;/b></p><p> 1 薩師煊,王珊,數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版). 北京:高等教育出版社,2000</p><p> 2 齊治昌,譚慶平,寧洪,軟件工程(第二版).北京:高等教育出版社,2004</p><p> 3 David I.Schneider,Visual Basic.NET編程導(dǎo)論. 電子工業(yè)出版社,2003</p>
70、<p><b> 附錄:源代碼清單</b></p><p> 附1.1主窗體設(shè)計(jì)代碼如下:</p><p> Public Class 主窗體</p><p> Inherits System.Windows.Forms.Form</p><p> #Region " Windows 窗體設(shè)
71、計(jì)器生成的代碼 "</p><p> ‘此處省略主窗體設(shè)計(jì)代碼</p><p> #End Region</p><p> Dim sender As System.Object</p><p> Dim e As System.EventArgs</p><p> Public Sub LoadD
72、ataSet()</p><p> Dim objDataSetTemp As 圖書(shū)館管理.Lib管理者信息</p><p> objDataSetTemp = New 圖書(shū)館管理.Lib管理者信息</p><p> '臨時(shí)數(shù)據(jù)集objDataSetTemp保存從FillDataSet()函數(shù)調(diào)用中返回的記錄</p><p>
73、 '如果未出錯(cuò)則填充到主數(shù)據(jù)集 "objLib管理者信息"中</p><p><b> Try</b></p><p> Me.FillDataSet(objDataSetTemp)</p><p> Catch eFillDataSet As System.Exception</p><p
74、> Throw eFillDataSet</p><p><b> End Try</b></p><p><b> Try</b></p><p> objLib管理者信息.Clear()</p><p> objLib管理者信息.Merge(objDataSetTemp)<
75、/p><p> Catch eLoadMerge As System.Exception</p><p> Throw eLoadMerge</p><p><b> End Try</b></p><p><b> End Sub</b></p><p> Publi
76、c Sub FillDataSet(ByVal dataSet As 圖書(shū)館管理.Lib管理者信息)</p><p> '實(shí)現(xiàn)打開(kāi)連接,將OleDbDataAdapter1中的數(shù)據(jù)添加到數(shù)據(jù)集,關(guān)閉連接。</p><p> dataSet.EnforceConstraints = False</p><p><b> Try</b>
77、;</p><p> Me.OleDbConnection1.Open()</p><p> Me.OleDbDataAdapter1.Fill(dataSet)</p><p> Catch fillException As System.Exception</p><p> Throw fillException</p>
78、;<p><b> Finally</b></p><p> dataSet.EnforceConstraints = True</p><p> Me.OleDbConnection1.Close()</p><p><b> End Try</b></p><p><
79、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><b> End Sub</b></p><p&g
80、t; Private Sub LinkLabel_退出_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_退出.LinkClicked</p><p><b> End</b></p&g
81、t;<p><b> End Sub</b></p><p> Private Sub LinkLabel_讀者信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_讀者信息.
82、LinkClicked</p><p> btn_讀者信息_Click(sender, e)</p><p><b> End Sub</b></p><p> Private Sub LinkLabel_書(shū)籍信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.W
83、indows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_書(shū)籍信息.LinkClicked</p><p> btn_書(shū)籍信息_Click(sender, e)</p><p><b> End Sub</b></p><p> Private Sub 主窗體_Load(B
84、yVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load</p><p><b> End Sub</b></p><p> Private Sub LinkLabel_出版社信息_LinkClicked(ByVal sender As System.Object,
85、 ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_出版社信息.LinkClicked</p><p> btn_出版社信息_Click(sender, e)</p><p><b> End Sub</b></p><p>
86、Private Sub LinkLabel_借閱信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_借閱信息.LinkClicked</p><p> btn_借閱信息_Click(sender, e)</
87、p><p><b> End Sub</b></p><p> Private Sub LinkLabel_查詢_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_查詢.L
88、inkClicked</p><p> btn_查詢_Click(sender, e)</p><p><b> End Sub</b></p><p> Private Sub LinkLabel_報(bào)表_LinkClicked(ByVal sender As System.Object, ByVal e As System.Window
89、s.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_報(bào)表.LinkClicked</p><p> btn_報(bào)表_Click(sender, e)</p><p><b> End Sub</b></p><p> Private Sub LinkLabel_管理者信息_Lin
90、kClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_管理者信息.LinkClicked</p><p> btn_管理者信息_Click(sender, e)</p><p><b> E
91、nd 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</p><p> dlg_Login = New Login<
92、;/p><p> If (dlg_Login.ShowDialog = DialogResult.OK) Then</p><p><b> Try</b></p><p> Me.LoadDataSet()</p><p> Catch eLoad As System.Exception</p>&l
93、t;p> System.Windows.Forms.MessageBox.Show(eLoad.Message)</p><p><b> End Try</b></p><p> Dim i As Integer</p><p> Me.BindingContext(objLib管理者信息, "管理者信息")
94、.Position = 0</p><p> For i = 0 To Me.BindingContext(objLib管理者信息, "管理者信息").Count - 1</p><p> If Not Me.BindingContext(objLib管理者信息, "管理者信息").Current.GetType Is GetType(DataR
95、owView) Then</p><p><b> Exit For</b></p><p><b> End If</b></p><p> Dim drv As DataRowView = CType(Me.BindingContext(objLib管理者信息, "管理者信息").Curren
96、t, DataRowView)</p><p> If Trim(drv("用戶名稱")) = dlg_Login.Txt_用戶姓名.Text Then</p><p> If Trim(drv("密碼")) = dlg_Login.Txt_用戶密碼.Text Then</p><p> Return True</
97、p><p><b> End If</b></p><p><b> End If</b></p><p> Me.BindingContext(objLib管理者信息, "管理者信息").Position += 1</p><p><b> Next</b&
98、gt;</p><p><b> End If</b></p><p> UserCheck = False</p><p> End Function</p><p> Private Sub btn_讀者信息_Click(ByVal sender As System.Object, ByVal e As Sy
99、stem.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><p
100、><b> Else</b></p><p> MessageBox.Show("登錄失?。?quot;, "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b><
101、;/p><p><b> End Sub</b></p><p> Private Sub btn_書(shū)籍信息_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_書(shū)籍信息.Click</p><p> If UserCheck(sender
102、, e) Then</p><p> Dim dlg As 書(shū)籍信息</p><p> dlg = New 書(shū)籍信息</p><p> dlg.ShowDialog()</p><p><b> Else</b></p><p> MessageBox.Show("登錄失??!&
103、quot;, "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub
104、 btn_出版社信息_Click(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 = N
105、ew 出版社信息</p><p> dlg.ShowDialog()</p><p><b> Else</b></p><p> MessageBox.Show("登錄失??!", "登錄", MessageBoxButtons.OK, _</p><p> Message
106、BoxIcon.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 As System.EventArgs)
107、Handles btn_借閱信息.Click</p><p> If UserCheck(sender, e) Then</p><p> Dim dlg As 借閱信息</p><p> dlg = New 借閱信息</p><p> dlg.ShowDialog()</p><p><b> E
108、lse</b></p><p> MessageBox.Show("登錄失??!", "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b></p><p&g
109、t;<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><b> End</b></p><p
110、><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> If UserCheck(sender, e) Then</p>
111、;<p> Dim dlg As 綜合查詢</p><p> dlg = New 綜合查詢</p><p> dlg.ShowDialog()</p><p><b> Else</b></p><p> MessageBox.Show("登錄失?。?quot;, "登錄&qu
112、ot;, MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub btn_報(bào)表_Click(ByVa
113、l 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><p> dlg = New 報(bào)表窗體</p><p&
114、gt; dlg.ShowDialog()</p><p><b> Else</b></p><p> MessageBox.Show("登錄失敗!", "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p>&
115、lt;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_管理者信息.Click&l
116、t;/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>
117、;<p> MessageBox.Show("登錄失??!", "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b></p><p><b> End Sub&l
118、t;/b></p><p> Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint</p><p><b> End Sub</b></p><
119、p><b> End Class</b></p><p> 附1.2讀者信息窗體設(shè)計(jì)代碼如下:</p><p> Public Class 讀者信息</p><p> Inherits System.Windows.Forms.Form</p><p> #Region " Windows 窗體
120、設(shè)計(jì)器生成的代碼 "</p><p> ‘此處省略主窗體設(shè)計(jì)代碼</p><p> #End Region</p><p> Private Sub GroupBox_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox.Enter<
121、/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).TextChanged</p><p><b> End
122、 Sub</b></p><p> Private Sub OleDbDataAdapter1_RowUpdated(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbRowUpdatedEventArgs) Handles OleDbDataAdapter1.RowUpdated</p><p>
溫馨提示
- 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ù)僅提供信息存儲(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ù)庫(kù)課程設(shè)計(jì)---基于cs模式的圖書(shū)管理系統(tǒng)的設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)—數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)——圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)管理
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告----圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---圖書(shū)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論