版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 數(shù)據(jù)庫課程設計報告書</p><p> 題目:基于C/S模式的圖書管理系統(tǒng)的設計</p><p><b> 內(nèi)容提要</b></p><p> 本文介紹了一個基于Client/Server模式的高校圖書管理系統(tǒng)的設計與實現(xiàn)。運用Visual Basic.Net結合Microsoft SQL Server 2000開發(fā)
2、的登錄模塊主要用于驗證用戶身份,進行有效的操作。從主界面模塊在驗證后進入每個子模塊進行各個子系統(tǒng)的具體功能操作。在整個系統(tǒng)設計中充分利用了模塊化的設計思想和開發(fā)方法。</p><p> 關鍵詞 C/S SQL2000 數(shù)據(jù)庫 課程設計</p><p><b> 目 錄</b></p><p> 第1章 應用背景與需求說明…………………
3、………………………………5</p><p> 1.1 背景…………………………………………………………………5</p><p> 1.2 數(shù)據(jù)需求……………………………………………………………5</p><p> 1.3 事務需求……………………………………………………………5</p><p> 1.4 系統(tǒng)開發(fā)平臺………………………
4、………………………………6</p><p> 1.5 網(wǎng)絡拓撲結構………………………………………………………6</p><p> 第2章 解決方案………………………………………………………………7</p><p> 2.1 E-R模型設計………………………………………………………7</p><p> 2.1.1 實體列表…………………
5、…………………………………7</p><p> 2.1.2 系統(tǒng)的E-R模型……………………………………………8</p><p> 2.2 設計數(shù)據(jù)庫…………………………………………………………8</p><p> 2.2.1 創(chuàng)建數(shù)據(jù)庫…………………………………………………8</p><p> 2.2.2 創(chuàng)建數(shù)據(jù)表……………………
6、……………………………8</p><p> 2.2.3 連接數(shù)據(jù)庫…………………………………………………9</p><p> 2.3主窗體設計…………………………………………………………10</p><p> 2.3.1 設計登錄界面………………………………………………10</p><p> 2.3.2 添加數(shù)據(jù)組件………………………
7、………………………10</p><p> 2.3.3 生成數(shù)據(jù)集…………………………………………………11</p><p> 2.3.4 設計代碼……………………………………………………11</p><p> 2.4讀者信息……………………………………………………………12</p><p> 2.4.1 設計顯示界面………………………
8、………………………12</p><p> 2.4.2 添加數(shù)據(jù)組件………………………………………………12</p><p> 2.4.3 功能實現(xiàn)……………………………………………………12</p><p> 2.5顯示報表……………………………………………………………12</p><p> 2.5.1 添加讀者信息報表…………………
9、………………………13</p><p> 2.5.2 添加借閱情況表……………………………………………13</p><p> 2.6綜合查詢的實現(xiàn)……………………………………………………14</p><p> 2.6.1 添加數(shù)據(jù)組件………………………………………………14</p><p> 2.6.2 窗體功能實現(xiàn)………………………
10、………………………14</p><p> 第3章 系統(tǒng)實現(xiàn)………………………………………………………………15</p><p> 3.1開發(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結論…………………………………………………………………20</p><p> 第4章 結束語…………………………………………………………………20</p><p> 參考文獻 ………………………………
12、………………………………………21</p><p> 附錄:源代碼清單 ……………………………………………………………21</p><p><b> 第一章 問題描述</b></p><p> 1.1 圖書管理系統(tǒng)簡介</p><p> 本系統(tǒng)利用VB.NET處理數(shù)據(jù)庫的功能,實現(xiàn)對圖書館信息的管理。主要功能為管
13、理有關讀者、出版社、書籍、借閱和管理者的信息等。</p><p> 本系統(tǒng)的結構分為讀者信息管理模塊、出版社信息管理模塊、書籍信息管理模塊、借閱信息管理模塊、管理者管理信息模塊、報表顯示模塊和查詢處理模塊。</p><p><b> 1.2 數(shù)據(jù)需求</b></p><p> 根據(jù)系統(tǒng)的需求,首先將要記錄的信息分類,要記錄的信息如下。&l
14、t;/p><p> ?、抛x者信息:包括證號、姓名、聯(lián)系方式、已借書數(shù)目、讀者類別和能否借書等。</p><p> ?、瞥霭嫔缧畔ⅲ喊Q、地址、網(wǎng)址、E-mail等。</p><p> ?、菚畔ⅲ喊〞?、叢書系列、作者、責任編輯、字數(shù)、定價、出版時間、主題分類、二級分類、館內(nèi)借閱分類、總冊數(shù)、庫存量、出版社和書名等。</p><p>
15、⑷借閱信息:包括借閱日期、應歸還日期、實際歸還日期、能否續(xù)借、書號和證號等。</p><p> ?、晒芾碚咝畔ⅲ喊ü芾碚呙Q、對應密碼和對應權限等。</p><p> 根據(jù)這些需要,本系統(tǒng)需要“讀者信息”表,“出版社信息”表,“書籍信息”表,“借閱信息”表和“管理者信息”表。</p><p><b> 1.3 事務需求</b></p
16、><p> 經(jīng)過實際考察、咨詢和分析,高等院校圖書管理系統(tǒng)主要應該具有以下功能模塊,如1.1圖。</p><p> ?、旁谧x者信息管理部分,要求如下。</p><p><b> 可以瀏覽讀者信息。</b></p><p> 可以對讀者信息進行維護,包括添加及刪除等操作。</p><p> ?、圃?/p>
17、出版社信息管理部分,要求如下。</p><p> 可以瀏覽出版社信息。</p><p> 可以對出版社信息進行維護,包括添加及刪除等操作。</p><p> ?、窃跁畔⒐芾聿糠?要求如下。</p><p><b> 可以瀏覽書籍信息。</b></p><p> 可以對書籍信息進行維護,
18、包括添加及刪除等操作。</p><p> ?、仍诮栝喰畔⒐芾聿糠?要求如下。</p><p><b> 可以瀏覽借閱信息。</b></p><p> 可以對借閱信息進行維護操作。</p><p> ?、稍诠芾碚咝畔⒐芾聿糠?要求如下。</p><p> 顯示當前數(shù)據(jù)庫中管理者情況。</
19、p><p> 對管理者信息維護操作。</p><p> 圖1.1 系統(tǒng)業(yè)務邏輯關系</p><p> 1.4 系統(tǒng)開發(fā)平臺</p><p><b> 前臺:</b></p><p><b> 硬件要求:</b></p><p> CPU: Pe
20、ntium 4 2.0GHz以上IBM兼容機</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; 開發(fā)工具:Microsoft Visual Studio.Net2003</p><p><b> 數(shù)據(jù)庫服務器:</b></p><p><b> 硬件要求:</b></p><p> CPU: Pentium4 2.8GHz以上IBM兼容機</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ù)庫服務器:Microsoft SQL 2000 Server</p>&l
23、t;p><b> 網(wǎng)絡設備:</b></p><p> 2塊網(wǎng)卡:客戶機D-Link DFE-650TX,服務器Intel PCLA8460B。</p><p> 路由器:一臺SOHO路由器TL-R402M</p><p> 1.5 網(wǎng)絡拓撲結構</p><p> 本設計采用客戶機/服務器(C/S)體系,
24、數(shù)據(jù)的儲存管理功能較為透明性,可以合理均衡事務的處理,充分保證數(shù)據(jù)的完整性和一致性。</p><p> 圖1.2 C/S模式結構</p><p><b> 第二章 解決方案</b></p><p> 數(shù)據(jù)庫主要著重于數(shù)據(jù)對象的屬性和數(shù)據(jù)對象之間的關系的分析。一般采用E-R圖,即實體-關系模型來分析數(shù)據(jù)對象的屬性和數(shù)據(jù)對象之間的關系。&l
25、t;/p><p> 2.1 E-R模型設計</p><p> 2.1.1 實體列表</p><p> 2.1.2 系統(tǒng)的E-R模型</p><p> 該圖書管理系統(tǒng)的E-R模型,如下圖所示</p><p><b> 2.2 設計數(shù)據(jù)庫</b></p><p> 2.
26、2.1創(chuàng)建數(shù)據(jù)庫</p><p> (1)在服務器資源管理器中的任一節(jié)點右擊。</p><p> (2)執(zhí)行快捷菜單中的“新建數(shù)據(jù)庫”命令,并在打開的“創(chuàng)建數(shù)據(jù)庫”對話框中輸入數(shù)據(jù)庫名Library,選中“使用WindowsNT集成安全性”單選按鈕。</p><p> (3)單擊“確定”按鈕,則新建的數(shù)據(jù)庫就會出現(xiàn)在服務器上。</p><p
27、> 2.2.2創(chuàng)建數(shù)據(jù)表</p><p> 創(chuàng)建數(shù)據(jù)庫后,為Library數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。</p><p> (1)在服務器資源管理器中右擊數(shù)據(jù)庫Library下的“表”文件夾。在彈出的快捷菜單中執(zhí)行“新建表”命令,出現(xiàn)表設計器。</p><p> (2)添加表的字段和其他詳細資料。各表數(shù)據(jù)結構如下表所示。</p><p
28、> 表2.1 圖書管理系統(tǒng)各表數(shù)據(jù)結構</p><p> 2.2.3連接數(shù)據(jù)庫</p><p> 為數(shù)據(jù)庫Library和本系統(tǒng)之間建立一個數(shù)據(jù)連接。</p><p> (1)在服務器資源管理器中右擊“數(shù)據(jù)連接”節(jié)點。在彈出的快捷菜單中執(zhí)行“添加連接”命令,打開Data Link Properties對話框。切換到Provider選項卡,選中列表框中的
29、Microsoft OLE DB Provider for SQL Server項。單擊“下一步”切換到Connection選項卡。</p><p> (2)在其中的第一個下拉列表框中選擇數(shù)據(jù)庫所在服務器名稱。輸入登錄服務器信息后選擇數(shù)據(jù)庫Library,然后單擊Test Connection按鈕。如果測試成功,單擊“確定”按鈕。</p><p><b> 2.3主窗體設計&
30、lt;/b></p><p> 創(chuàng)建一個新的“Windows應用程序”類型的項目,名為“圖書館管理”。將默認創(chuàng)建的窗體命名為“主窗體”,把“主窗體”作為本系統(tǒng)中的主界面。</p><p> 在窗體中添加兩個Pannel控件,7個Button控件和7個Linklabel控件。</p><p> 2.3.1設計登錄界面</p><p>
31、; 設計登錄界面,創(chuàng)建一個新的”Windows窗體”,名為登錄,作為本系統(tǒng)的登錄界面.在登錄窗體上添加兩個Label控件,兩個Button控件和兩個TextBox控件,添加控件后的窗體如圖所示。</p><p> 2.3.2添加數(shù)據(jù)組件</p><p> 在工具箱中單擊“數(shù)據(jù)”選項卡,添加OleDbDataAdapter組件。</p><p> (1)在工具
32、箱中單擊OleDbDataAdapter組件,在窗體任意位置拖動出一個虛框矩形后釋放左鍵彈出“數(shù)據(jù)適配器配置向?qū)А睂υ捒颉?lt;/p><p> (2) 單擊“下一步”,在打開的對話框中選擇前面建好的數(shù)據(jù)連接,然后單擊“下一步”。</p><p> (3)選中“使用SQL語句”,然后單擊“下一步”進入“生成SQL語句”對話框。</p><p> (4)在其中的多行
33、文本框直接輸入SQL語句“SELECT 管理者信息.* FROM 管理者信息”。</p><p> (5)單擊“下一步”按鈕,進入“查看向?qū)ЫY果”,單擊“完成”按鈕完成數(shù)據(jù)適配器配置。</p><p> 配置數(shù)據(jù)適配器后,在主窗體上就會自動添加一個OleDbConnection控件。</p><p> 2.3.3生成數(shù)據(jù)集</p><p&g
34、t; 生成數(shù)據(jù)集的步驟如下:</p><p> (1)單擊OleDbDataAdapter控件“屬性”對話框中的“生成數(shù)據(jù)集”鏈接,打開“生成數(shù)據(jù)集”對話框。</p><p> (2)在其中選中“新建”單選按鈕,并在其后面的文本框中輸入“Lib管理者信息”。</p><p> (3)在“選擇要添加到數(shù)據(jù)集中的表”列表框中列出了前面添加的OleDbDataAd
35、apter組件所連接的表,選中該表名前面的復選框。</p><p> (4)選中“將此數(shù)據(jù)集添加到設計器”復選框,單擊“確定”按鈕</p><p> 這樣,將生成一個名稱為“Lib管理者信息”的數(shù)據(jù)集,該數(shù)據(jù)集以文件形式存儲,文件名為“Lib管理者信息.xsd”。而在項目中,添加了一個DataSet組件,名為“objLib管理者信息”。</p><p> 在解
36、決方案資源管理器中右擊該項目,在彈出快捷菜單中單擊“屬性”菜單項。在打開的“屬性頁”對話框中的“啟動對象”下拉列表框中選擇“主窗體”選項。單擊“確定”按鈕,這樣該項目啟動時,就會從主窗體開始啟動。</p><p><b> 2.3.4設計代碼</b></p><p> 在程序運行過程中,如果想通過單擊LinkLabel控件或Button控件進入系統(tǒng)中的各個功能模塊
37、(如顯示讀者信息等),就會彈出一個對話框要求輸入用戶名和密碼.單擊"確認"按鈕,程序就會到數(shù)據(jù)庫的"管理者信息"表中查找該用戶名和密碼是否存在.如果存在,允許進入功能模塊.</p><p> 完成登錄功能的主要代碼集中在UserCheck函數(shù)中.在程序運行過程中,在登錄窗體的"用戶姓名"和"用戶密碼"文本框中輸入用戶名和密碼后,單擊
38、"確認"按鈕就會觸發(fā)UserCheck函數(shù)并執(zhí)行其中的代碼.如果UserCheck函數(shù)返回True,那么允許用戶的操作;否則拒絕用戶的操作請求.</p><p> 在UserCheck函數(shù)中首先定義Login類型的變量dlg_Login,然后通過ShowDialog方法來顯示登錄窗體.如果用戶在登錄窗體中輸入用戶姓名和密碼,并且單擊了"確認"按鈕,那么自動調(diào)用一個自定義函
39、數(shù)LoadDataSet(),由此函數(shù)進行數(shù)據(jù)加載.如果出錯,顯示錯誤信息,回滾整個事務.</p><p> 具體設計代碼見附錄1.1。</p><p><b> 2.4 讀者信息</b></p><p> 在當前項目中添加一個“Windows窗體”,將窗體命名為“讀者信息”。</p><p> 2.4.1設計顯
40、示界面</p><p> 在窗體上添加1個GroupBox控件,9個Button控件,5個TextBox控件,1個CheckBox控件和7個Label控件。</p><p> 各按鈕控件是為了執(zhí)行相應的操作。各TextBox控件和CheckBox控件用來顯示數(shù)據(jù)集中的數(shù)據(jù),這個功能通過設置DataBindings屬性來實現(xiàn)。</p><p> 2.4.2添加數(shù)
41、據(jù)組件</p><p> 向窗體添加OleDbConnection組件,命名為OleDbConnection1后將其選中,在“屬性”對話框的ConnectionString欄單擊,選擇所建數(shù)據(jù)庫Library。</p><p> 添加OleDbDataAdapter組件和生成數(shù)據(jù)集的方法步驟如2.3.2及2.3.3。</p><p> 設置各TextBox控件
42、的DataBinding屬性來實現(xiàn)對數(shù)據(jù)集中數(shù)據(jù)的顯示(以Edit證號為例)。</p><p> (1)選中“Edit證號”控件單擊“屬性”對話框。</p><p> (2)單擊DataBinding屬性前面的+號打開該屬性的詳細列表。</p><p> (3)設置Text屬性:在該屬性后面欄中單擊并選擇所對應字段。</p><p>
43、 (4)設置其他TextBox控件的DataBinding屬性。</p><p><b> 2.4.3功能實現(xiàn)</b></p><p> 顯示數(shù)據(jù),添加讀者,保存更改,記錄定位的實現(xiàn)。</p><p> 具體實現(xiàn)代碼見附1.2。</p><p> “管理者信息”,“出版社信息”,“書籍信息”,“借閱信息”和該模塊
44、的設計思路及方法步驟完全一致,在此從略。</p><p><b> 2.5 顯示報表</b></p><p> 在當前項目中添加一個“Windows窗體”,命名為“報表窗體”,該模塊顯示當前數(shù)據(jù)庫中讀者信息和借閱信息的報表。</p><p> 在窗體上添加一個CrystalReportViewer1,它充當報表顯示的窗體,然后在窗體中添加
45、一個菜單,菜單中包括兩個子菜單項—“讀者信息”和“借閱信息”。 </p><p> 在程序運行中,如果單擊“讀者信息”菜單項,就會自動在窗體上顯示“讀者信息報表.rpt”:如果單擊“借閱信息”命令就會自動在窗體上顯示“借閱信息報表.rpt”報表。</p><p> 2.5.1添加讀者信息報表</p><p> (1)在開發(fā)環(huán)境中選擇菜單“項目”中的“添加新項”
46、對話框中選擇Crystal Report選項。</p><p> (2)在“名稱”文本框中輸入報表名“讀者信息報表.rpt”,單擊“打開”按鈕,就會彈出入圖所示的“Crystal Report庫”對話框。</p><p> (3)在其對話框中選擇“使用報表專家”單選按鈕,在“選擇專家”列表框中選擇“標準”選項,單擊“確定”按鈕,進入下一步。</p><p>
47、(4)在彈出的“標準報表專家”對話框中,選擇“可用的數(shù)據(jù)源”列表框中的OLB DB(ADO)選項,就會彈“OLE DB(ADO)”對話框。選擇OLB DB提供程序為Microsoft OLE DB Provider for SQL Server,單擊“下一步”按鈕,顯示 “連接信息”對話框。</p><p> (5)在其中設置連接信息,單擊“完成”按鈕,返回“標準報表專家”對話框。</p><
48、;p> (6)選擇數(shù)據(jù)源為OLE DB(ADO)中的Library數(shù)據(jù)庫,并且選中其中的“讀者信息”表。單擊“插入表”按鈕,把“讀者信息”表插入到報表中,單擊“下一步”按鈕。</p><p> (7)在“字段”選項卡中單擊“全部添加”按鈕,把“讀者信息”表中的所有字段添加到報表中,單擊“完成”按鈕就完成報表的設計。</p><p> 設計完成的“讀者信息報表”如圖所示。<
49、/p><p> 圖2.1 讀者信息報表效果圖</p><p> 2.5.2添加借閱情況報表</p><p> 添加借閱情況報表的過程與添加讀者信息報表過程大致相同,不同之處在于插入到報表中的數(shù)據(jù)表為“讀者信息”。</p><p> 2.6 綜合查詢的實現(xiàn)</p><p> 在程序運行過程中,單擊主窗體的“綜合查詢
50、”按鈕,就會彈出一個對話框。在其中設置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄。</p><p> 為此需要在項目中添加一個窗體“綜合查詢”。</p><p> 還需要設置“CmbBox運算符”控件的Items屬性。單擊窗體上“CmbBox運算符”控件,然后在“屬性”對話框中單擊Items欄,就會出現(xiàn)一個按鈕,單擊按鈕,在打開的窗口中如圖2.2所示設置字符串集合編輯器字符串。&l
51、t;/p><p> 圖2.2 所示設置字符串集合編輯器</p><p> 設置完畢,單擊確定按鈕。</p><p> 2.6.1添加數(shù)據(jù)組件</p><p> 在窗體上添加一個OleDbDataAdapter組件,使用數(shù)據(jù)適配器配置向?qū)ζ溥M行配置。選擇數(shù)據(jù)連接后輸入SQL語句“SELECT 出版社信息.* FROM 出版社信息”。<
52、;/p><p> 同樣再為窗體添加四個OleDbDataAdapter組件,</p><p> 在"生成SQL語句"對話框的多行文本框中分別輸入SQL語句“SELECT 讀者信息.* FROM 讀者信息”, “SELECT 管理者信息.* FROM 管理者信息” ,“SELECT 借閱信息.* FROM 借閱信息”, “SELECT 書籍信息.* FROM 書籍信息”
53、,然后單擊“完成”按鈕,Name屬性分別設置為OleDbDataAdapter2,OleDbDataAdapter3,OleDbDataAdapter4,OleDbDataAdapter5完成數(shù)據(jù)適配器的配置。</p><p> 生成數(shù)據(jù)集的步驟如下。</p><p> (1)在OleDbDataAdapter1組件的“屬性”對話框中單擊“生成數(shù)據(jù)集”超鏈接,打開“生成數(shù)據(jù)集”對話框,
54、選中“新建”按鈕并在后面文本框中輸入“Lib綜合查詢”。</p><p> (2)在“選擇要添加到數(shù)據(jù)集中的表”列表框中,選中5個表前面的復選框。</p><p> (3)選中“將此數(shù)據(jù)集添加到設計器”復選框,單擊“確定”按鈕。</p><p> 這樣,將生成一個名稱為“Lib綜合查詢”的數(shù)據(jù)集,該數(shù)據(jù)集以文件的形式存儲,文件名為“Lib綜合查詢.xsd”。而
55、在項目中,添加一個DataSet組件,名稱為“objLib綜合查詢”。</p><p> 設計完成的數(shù)據(jù)集如圖2.4所示。</p><p> 2.6.2窗體功能實現(xiàn)</p><p> 具體功能實現(xiàn)代碼見附1.7。</p><p> 圖2.3 綜合查詢數(shù)據(jù)集</p><p><b> 第三章 系統(tǒng)實現(xiàn)
56、</b></p><p><b> 3.1開發(fā)環(huán)境</b></p><p> 本系統(tǒng)使用VisualBasic.NET語言進行開發(fā)。需要Microsoft .NET Framework SDK v1.1的支持。適用內(nèi)存不低于256M配備有Windows2000,Windows2003,WindowsXP系統(tǒng)的計算機。</p><p&
57、gt;<b> 3.2系統(tǒng)流程圖</b></p><p> 在本系統(tǒng)中準備通過如下窗體來實現(xiàn)數(shù)據(jù)維護的功能。</p><p> (1) 主窗體:管理著各個子窗體。</p><p> (2)“讀者信息”子窗體:管理讀者信息。</p><p> (3)“管理者信息”子窗體:管理用戶信息。</p>&l
58、t;p> (4)“出版社信息”子窗體:管理出版社信息。</p><p> (5)“書籍信息”子窗體:管理書籍信息。</p><p> (6)“借閱信息”子窗體:管理借閱信息。</p><p> (7)“報表窗體”子窗體:顯示數(shù)據(jù)報表。</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ù)連接時一定要注意窗體和相應顯示控件的綁定關系。在把系統(tǒng)從一臺計算機移植到另一臺計算機時一定要把數(shù)據(jù)文件library.mdf和library_log.LDF同時移植,并對相應的提供服務的SQL Server服務
60、器進行相應的修改,否則數(shù)據(jù)正確連接并顯示。</p><p><b> 3.4 功能顯示</b></p><p> 運行程序后首先顯示主窗體,如圖3.2所示。</p><p><b> 圖3.2 主界面</b></p><p> 單擊“輸入/查看讀者信息”,就會彈出如圖3.3所示登錄框。<
61、;/p><p><b> 圖3.3 登錄界面</b></p><p> 在登錄對話框中輸入用戶姓名和密碼,單擊“確認”按鈕,就會對用戶身份進行認證,如果認證通過,那么就會彈出如圖3.4所示的讀者信息管理窗體。</p><p> 圖3.4 讀者信息管理窗體</p><p> 在“讀者信息”窗體中可以對讀者信息進行維護操
62、作,例如瀏覽讀者信息,添加記錄和刪除記錄等。</p><p> 單擊“輸入/查看書籍信息”,就會顯示“書籍信息”窗體,在該窗體中可以對書籍信息進行維護操作。書籍信息維護窗體如圖3.5所示。</p><p> 圖3.5 書籍信息窗體</p><p> 單擊“輸入/查看借閱信息”,就會顯示“借閱信息”窗體,在該窗體中可以對出版社信息進行維護操作。出版社信息維護窗體
63、如圖所示。</p><p> 圖3.6 借閱信息窗體</p><p> 單擊“輸入/查看出版社信息”,就會顯示“出版社信息”窗體,在該窗體中可以對借閱信息進行維護操作。借閱信息維護窗體如圖3.7所示。</p><p> 圖3.7 出版社信息窗體</p><p> 單擊“輸入/查看管理者信息”,結果如圖3.8所示。</p>
64、<p> 圖3.8 管理者信息窗體</p><p> 在主窗體上單擊“顯示報表”,那么就可以查看反映讀者信息和借閱信息的報表,借閱信息的報表如圖所示。</p><p><b> 圖3.9 報表窗體</b></p><p> 如果用戶在運行的主窗體上單擊“綜合查詢”,那么就可以查看針對不同的數(shù)據(jù)表進行查詢操作。選擇查詢依據(jù)為“
65、出版社信息”表查看其中的所有信息,結果如圖3.10所示。</p><p> 圖3.10 綜合查詢窗體</p><p><b> 3.5 結論</b></p><p> 在這個系統(tǒng)的開發(fā)過程中,值得注意的幾點有:</p><p> (1)數(shù)據(jù)報表的實現(xiàn).報表是數(shù)據(jù)庫應用程序的重要組成部分,通過報表,可以把數(shù)據(jù)庫中內(nèi)
66、容經(jīng)過組織以后生動地展示給用戶,VB.NET提供的Crystal Report可以大大提高報表的設計效率。</p><p> (2)復雜查詢的實現(xiàn)。在程序運行過程中,單擊窗體中的“綜合查詢”按鈕,就會彈出一個對話框,在該對話框中設置查詢條件,根據(jù)查詢條件從記錄集中篩選出所需記錄,所指定的查詢條件包括查詢的依據(jù),排序的依據(jù),運算符等等。</p><p><b> 第四章 結束語
67、</b></p><p> 通過做課程設計,有幾點感想,歸納如下。</p><p> 1. 扎實的理論基礎。如果不掌握它們,很難寫出高水平的程序。而這一點又是我們所缺乏的。 </p><p> 2. 不鉆牛角尖。當遇到障礙的時候,暫時遠離電腦,當重新開始工作的時候,也許會發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解?! ?lt;/p><p>
68、; 3. 多與別人交流。三人行必有我?guī)煛?lt;/p><p> 4. 良好的編程風格。注意養(yǎng)成良好的習慣,代碼的縮進編排,變量的命名規(guī)則要始終保持一致。如果注釋和代碼不一致,那就更加糟糕。</p><p> 最后,特別要感謝史開宗老師在軟件工程和數(shù)據(jù)庫課程中認真負責的教學,才使得我能結合所學的知識完成這一課程設計。</p><p><b> 參考文獻&
69、lt;/b></p><p> 1 薩師煊,王珊,數(shù)據(jù)庫系統(tǒng)概論(第三版). 北京:高等教育出版社,2000</p><p> 2 齊治昌,譚慶平,寧洪,軟件工程(第二版).北京:高等教育出版社,2004</p><p> 3 David I.Schneider,Visual Basic.NET編程導論. 電子工業(yè)出版社,2003</p>
70、<p><b> 附錄:源代碼清單</b></p><p> 附1.1主窗體設計代碼如下:</p><p> Public Class 主窗體</p><p> Inherits System.Windows.Forms.Form</p><p> #Region " Windows 窗體設
71、計器生成的代碼 "</p><p> ‘此處省略主窗體設計代碼</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 圖書館管理.Lib管理者信息</p><p> objDataSetTemp = New 圖書館管理.Lib管理者信息</p><p> '臨時數(shù)據(jù)集objDataSetTemp保存從FillDataSet()函數(shù)調(diào)用中返回的記錄</p><p>
73、 '如果未出錯則填充到主數(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 圖書館管理.Lib管理者信息)</p><p> '實現(xiàn)打開連接,將OleDbDataAdapter1中的數(shù)據(jù)添加到數(shù)據(jù)集,關閉連接。</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_書籍信息_LinkClicked(ByVal sender As System.Object, ByVal e As System.W
83、indows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_書籍信息.LinkClicked</p><p> btn_書籍信息_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_報表_LinkClicked(ByVal sender As System.Object, ByVal e As System.Window
89、s.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel_報表.LinkClicked</p><p> btn_報表_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("登錄失??!", "登錄", MessageBoxButtons.OK, _</p><p> MessageBoxIcon.Stop)</p><p><b> End If</b><
101、;/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> If UserCheck(sender
102、, e) Then</p><p> Dim dlg As 書籍信息</p><p> dlg = New 書籍信息</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("登錄失??!", "登錄&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_報表_Click(ByVa
113、l 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><p&
114、gt; dlg.ShowDialog()</p><p><b> Else</b></p><p> MessageBox.Show("登錄失?。?quot;, "登錄", 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讀者信息窗體設計代碼如下:</p><p> Public Class 讀者信息</p><p> Inherits System.Windows.Forms.Form</p><p> #Region " Windows 窗體
120、設計器生成的代碼 "</p><p> ‘此處省略主窗體設計代碼</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證號_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit證號.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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設計---基于cs模式的圖書管理系統(tǒng)的設計
- 數(shù)據(jù)庫課程設計--圖書管理系統(tǒng)的數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計--- 圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計——圖書管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設計---圖書管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--圖書管理
- 數(shù)據(jù)庫課程設計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告---圖書管理系統(tǒng)
評論
0/150
提交評論