【文章內(nèi)容簡介】
下一階段設(shè)計工作可用的形式信息,必須對需求信息做分析整理的工作。 ( 2)需求信息的評審?fù)ㄟ^ 3具體數(shù)據(jù)表設(shè)計 系統(tǒng)一共五張表:表 Administrator 表 book 表 book_history 表 BS 表 第 9 頁 共 24 頁 Student 表 Administratorc 設(shè)計如下圖: 表 1 Administrators設(shè)計 列名 數(shù)據(jù)類型 長度 允許為空 ID int 4 F Name varchar 10 F Password varchar 10 T 表 Book 設(shè)計如下圖: 表 2 Book設(shè)計 表 book_history 設(shè)計如下表 : 表 3 book_history設(shè)計 列名 數(shù)據(jù)類型 長度 允許為空 ID int 4 F name varchar 50 F Anchor varchar 20 F Publisher varchar 50 F price int 4 F PublishDate datetime 8 F flag int 4 T 列名 數(shù)據(jù)類型 長度 允許為空 ID int 4 F StudentsSID int 4 F BookID int 4 F BookName varchar 80 F BookBeginDate datetime 8 F BookGuihuanDate datetime 8 F EndDate datetime 8 T 第 10 頁 共 24 頁 表 BS設(shè)計如下圖 : 表 4 BS設(shè)計 列名 數(shù)據(jù)類型 長度 允許為空 SID int 4 F ID int 4 F BeginDate datetime 8 T RemainDays int 4 T 表 student 設(shè)計如下圖 表 5 student 設(shè)計 表 4 圖書管理系統(tǒng)應(yīng)用程序設(shè)計 登 錄 窗體模塊組成 1登 錄 窗口 2數(shù)據(jù)庫連接定義窗口 3讀者增加 4學(xué)生借書與查詢歷史窗口 5書籍借閱歷史 6主窗口 7讀者選擇 8增加書籍 9書籍選擇 10 管理員增加 列名 數(shù)據(jù)類型 長度 允許為空 SID Int 4 F Sno Varchar 15 F SName Varchar 10 F Sex Varchar 2 F MaxNumber Int 4 F MaxDays Int 4 F RemainNumber Int 4 T 第 11 頁 共 24 頁 各窗體介紹 在窗體 中定義了數(shù)據(jù)庫的連接,每次讀完數(shù)據(jù)庫都將數(shù)據(jù)庫連接關(guān)閉,在每次需要用到數(shù)據(jù)庫的時候打開連接就可以了,以免以后每次用到數(shù)據(jù)庫都要重新定義連接。其定義如下 Public constr As String = User ID=sa。 Password=。 database=homework。 server=(local) Public mycon As New SqlConnection(constr) Public my As SqlCommand Public myda As SqlDataAdapter 1 登 錄 窗口 圖 2登錄 窗口界面 其登錄 按鈕代碼為: If = Or = Then (用戶名或密碼不能為空 , 提醒 , , ) 此句的作用是判斷用戶名或者密碼是否為空 Dim sqlstr As String = select Count(*) from Administrator Where Name=39。 amp。 amp。 39。 and Password=39。 amp。 amp。 39。 Dim my As New SqlCommand(sqlstr, mycon) If 1 Then Else ( 恭 喜 你 登 錄 成功 !, 提醒 , 第 12 頁 共 24 頁 , ) End If () 其作用 是當(dāng)用戶名 或密碼不為空時,將用戶名與密碼在數(shù)據(jù)庫中進(jìn)行比對。比對成功就登錄 成功 其中在管理員登錄 窗口上姓名一欄已經(jīng)讀入了數(shù)據(jù)庫中現(xiàn)存的管理員用戶名,省去了 要管理員輸入用戶名這一步。如果姓名一欄沒有顯示出名字就說明管理員中就沒有此管理員(雖然可以自己輸入,但是肯定是錯誤的用戶名)。 在登錄窗口中可以分別出來是用戶名錯誤還是用戶名正確密碼錯誤,以便管理員更正用戶名或者密碼來更加方便的登錄系統(tǒng)。 2登錄 成功后的主窗口實現(xiàn) 圖 3登錄 成功后的主窗口界面 在此 窗口中的代碼很簡單:就只是菜單能在響應(yīng)單擊事件后能彈出窗口一般格式如下(以彈出 BookAdd 為例) Dim ps As New BookAdd = () 登錄成功后就會彈出上面所示的窗口,同時登錄窗口退出在窗口頂上注明了登錄 人的身份。以及一些基本信息(如:姓名 ,狀態(tài) ,身份 ) 。在主界面上分為:管理員管理 ,書籍管理 ,讀者管理 ,查詢管理,幫助。在管理員管理 ,書籍管理 ,讀者管 理 ,查詢管理菜單下都有其子菜單,以實現(xiàn)具體的工作,點擊就可以彈出相應(yīng)的菜單執(zhí)行相應(yīng)的操作。其中幫組菜單沒有子菜單,點擊幫助菜單后就會彈出幫助文檔(為 .html 文檔)在管理員菜單下的子菜單為:管理員維護(hù),增加管理員。在書籍管理菜單下的子菜單為:新增書籍管理,書籍借閱管理,書籍信息維護(hù)。在讀者管理菜單下的子菜單為: 讀者信息增加,讀者信息維護(hù),借閱歷史查看。在查詢管理菜單的子菜單為:書籍信息查詢,讀者信息查詢 。 第 13 頁 共 24 頁 3管理員信息維護(hù) 圖 4管理員信息維護(hù)界面 在進(jìn)入主界面以后就可以通過(管理員管 理 ?管理員信息維護(hù))進(jìn)入管理員信息維護(hù)界面 在管理員信息維護(hù)界面可以修改密碼 并且在修改密碼的時候要求輸入原密碼進(jìn)行身份認(rèn)證,以免被惡意篡改。 更改完成后就點擊上面所示窗口的“更新”按鈕就可以就新信息寫如數(shù)據(jù)庫。 首先判斷用戶名與密碼是否為空,新輸入的密碼是否兩次輸入不一樣 If CheckData() = False Then (用戶名或密碼不能為空 , 提醒 , , ) () Exit Sub End If If Then (新密碼確認(rèn)不一致 !, 提醒 , , ) () Exit Sub End If 如果以上條件都滿足,就進(jìn)入讀取數(shù)據(jù)庫,將數(shù)據(jù)與輸入的信息進(jìn)行比較,通過比較后的結(jié)果給出提示。 4管理員增加窗口 在此窗口中通過輸入用戶名來確定一個用戶,并且輸入一個密碼來進(jìn)行身份 第 14 頁 共 24 頁 驗證。 同樣,完成后點擊窗口中的“增加”按鈕就可以完成管理員增加 管理員增加窗口設(shè)計比較簡單,僅需輸入新用戶名,密碼,以及一次密碼確認(rèn)就可以增加一個管理員。密碼確認(rèn)的目的是為了防止在新增加管理員的時候誤輸入密碼避免以后的麻煩。 圖 10管理員增加界面 圖 5管理員增加 仍然 和上面一樣,先檢查是否輸入為空或者是否兩次輸入密碼不一樣。如果滿足條件就可以進(jìn)行下面的工作了 Try If = Then () End If sqlstr = insert into Administrator values(39。 amp。 amp。 39。,39。 amp。 amp。 39。) my2 = New SqlCommand(sqlstr, mycon) () (增加成功 !, 提醒 , , ) () Catch ex As Exception () End Try 5新增書籍窗口實現(xiàn)如下 : 第 15 頁 共 24 頁 此窗口的功能就是錄入新的圖書信息,在錄入圖書信息時需要錄入的信息有 :書籍名稱,作者,出版社,書籍定價,出版日期 圖 6新增書籍窗口界面 在此窗口中可以進(jìn)行新增書籍的操作 所有項必須全部添加 添加完成后通過點擊“增加”按鈕來完成新增書籍 “增加”按鈕的事件代碼 If CheckData() = False Then Exit Sub End If Try If = Then () End If Dim ID As Integer ID = GetHeightID() Dim ID1 As New SqlParameter(@ID1, , 4) = ID + 1 Dim sqlstr As String = insert into Book values(@ID1,39。 amp。 amp。 39。,39。 amp。 amp。 39。,39。 amp。 amp。 39。,39。 amp。 amp。 39。,39。 amp。 amp。 39。,1) 第 16 頁 共 24 頁 Dim my As New SqlCommand(sqlstr, mycon) (ID1) () (恭喜你,保存成功! , 提醒 , , ) Call ClearData() () Catch ex As Exception () End Try 6圖書信息維護(hù)實現(xiàn)如下 圖 7圖書信息維護(hù)界面 在此窗口中可以修改圖書自身信息 如果在錄入過程中輸入錯誤書籍信息。就可以通過這里進(jìn)行補(bǔ)救。對圖書信息的作者,出版社,定價,出版日期進(jìn)行修改修改完成后還是通過“更新”按鈕來確認(rèn)修改信息 “更新”按鈕主要代碼: If = Then () End If Dim ID2 As New SqlParameter(@ID2, , 4) = ID1 Dim sqlstr As String = update Book set Name=39。 amp。 amp。 39。 ,Anchor=39。 amp。 amp。 39。,Publisher=39。 amp。 amp。 39。,Price=39。 amp。 amp。 39。,PublishDate=39。 amp。 第 17 頁 共 24 頁 amp。 39。 Where ID=@ID2 and Flag=39。039。 Dim my As New SqlCommand(sqlstr, mycon) (ID2) () (更新成功! , 恭喜 , , ) () 7讀者增加窗口實現(xiàn)如下: 圖 8讀者增加窗口界面 在此窗口中管理員可以受動輸入讀者信息來增加讀者 新增讀者中包含的項目如下: 學(xué)號 姓名 性別 最大借閱冊數(shù) 最大借閱天數(shù) 在“增加”按鈕中的主要代碼為: If IsCheckSno() = False Then (你輸入的學(xué)號不正確 ,請重新輸入 , 提醒 , , ) = Exit Sub End If