【正文】
文檔來源:591。[6] 江廣順,余松 . +SQL SERVER 熱門網(wǎng)絡(luò)應(yīng)用開發(fā)詳解[M].北京:人民郵電出版社,2022。[4] Stephen 揭秘(第二版)[M].北京:中國電力出版社,2022。[2] Rebecca 程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2022。由于作者水平和經(jīng)驗(yàn)所限,系統(tǒng)在設(shè)計(jì)開發(fā)過程中難免出現(xiàn)錯(cuò)誤,敬請(qǐng)各位老師批評(píng)指正。在開發(fā)過程中要嚴(yán)格貫徹質(zhì)量管理,否則開發(fā)工作一旦進(jìn)行到后期,無論怎樣通過測(cè)試和補(bǔ)漏洞,都會(huì)無濟(jì)于事。在本系統(tǒng)中,用到了不同的控件加載方法,控件作為一個(gè)個(gè)模塊用于信息顯示、功能導(dǎo)航等,可以實(shí)現(xiàn)整體的統(tǒng)一和代碼的重用。在設(shè)計(jì)開發(fā)過程中,我深刻感受到代碼重用的重要性。這些過程的討論和分析,讓大家對(duì)系統(tǒng)的體系結(jié)構(gòu)、功能模塊等有了更深的了解,但系統(tǒng)仍然不夠完善,這些問題主要集中在系統(tǒng)的安全上,雖然系統(tǒng)已經(jīng)通過相關(guān)的控制語句對(duì)登錄用戶身份進(jìn)行驗(yàn)證,但是在當(dāng)今網(wǎng)絡(luò)信息安全中,僅僅對(duì)用戶身份驗(yàn)證是不夠的,還需要對(duì)傳送的數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)在傳輸過程中被篡改等攻擊。系統(tǒng)運(yùn)行正常,實(shí)現(xiàn)了圖書的查詢預(yù)約,信息發(fā)布,圖書及用戶的管理,角色權(quán)限的管理等功能。(8)對(duì)字符串的格式進(jìn)行轉(zhuǎn)換。(6)對(duì)數(shù)據(jù)庫刪除操作異常進(jìn)行捕捉。(4)對(duì)數(shù)據(jù)庫插入操作異常進(jìn)行捕捉。(2)及時(shí)捕捉數(shù)據(jù)庫連接的打開和關(guān)閉異常。在進(jìn)行系統(tǒng)測(cè)試過程中會(huì)出現(xiàn)如下幾種情況:(1)對(duì)頁面提交過來的數(shù)據(jù)進(jìn)行空指針異常捕捉。 測(cè)試結(jié)果在系統(tǒng)的各個(gè)模塊設(shè)計(jì)完成之后,需要對(duì)整個(gè)系統(tǒng)進(jìn)行全面的測(cè)試。5 系統(tǒng)測(cè)試 測(cè)試環(huán)境本系統(tǒng)測(cè)試環(huán)境:CPU PⅢ,內(nèi)存 128M 及以上,SQL SERVER 2022,WIN2022/XP/2022 下均測(cè)試通過。, sqlstr += + , sqlstr += + , If = True Then sqlstr += 1, Else sqlstr += 0, End If If = True Then sqlstr += 1, Else sqlstr += 0, End If If = True Then sqlstr += 1) Else sqlstr += 0) End If Dim obj As DBController = New DBController (sqlstr) () = = = = False = False BindDBGrid ()End Sub此外,在角色權(quán)限管理中,StyleDGrd_CancelCommand()函數(shù)處理在DataGrid 中“取消”按鈕單擊事件,StyleDGrd_EditCommand()函數(shù)處理在DataGrid 中“編輯”按鈕單擊事件,StyleDGrd_UpdateCommand()函數(shù)處理在DataGrid 中“更新”按鈕單擊事件,StyleDGrd_PageIndexChanged()函數(shù)處理分頁事件,StyleDGrd_DeleteCommand()函數(shù)處理在 DataGrid 中“刪除”按鈕單擊事件。用戶信息管理包括添加用戶頁面() 、編輯用戶頁面()和用戶列表() ,實(shí)現(xiàn)對(duì)用戶的添加、更新、刪除及查詢操作;角色權(quán)限管理則通過使用 DataGrid 對(duì)數(shù)據(jù)進(jìn)行修改更新以及刪除等操作,AddBtn_Click()函數(shù)處理“添加”按鈕單擊事件,實(shí)現(xiàn)添加用戶類別信息,將復(fù)選框中的信息轉(zhuǎn)換為對(duì)應(yīng)數(shù)據(jù)庫需要的信息,其主要處理代碼如下:Private Sub AddBtn_Click (ByVal sender As , ByVal e As ) Handles Dim sqlstr As String = insert into RoleInfo (RoleStyle, BookNum, BookDate, AllowBooking, IsBookManager, IsSysManager) values (“ sqlstr += 39。在該模塊中,圖書管理員還能夠根據(jù)用戶名和圖書條碼號(hào)對(duì)圖書進(jìn)行借、還操作,對(duì)于某用戶預(yù)約成功的圖書進(jìn)行借閱后,該用戶的預(yù)約狀態(tài)將修改為“失效” 。 當(dāng)前預(yù)約信息的主界面圖圖 11 當(dāng)前預(yù)約信息界面 歷史預(yù)約信息的主界面圖圖 12 歷史預(yù)約信息界面 圖書管理模塊的設(shè)計(jì) 功能描述圖書管理模塊主要實(shí)現(xiàn)對(duì)圖書信息的管理,包括了圖書添加頁面()和圖書編輯頁面() 。通過對(duì) DataGrid 進(jìn)行數(shù)據(jù)綁定,顯示失效和過期預(yù)約狀態(tài)的用戶的用戶名、姓名及單位、歷史預(yù)約的圖書的書名、著者及預(yù)約時(shí)間和當(dāng)前預(yù)約狀態(tài)。已過期39。有效39。失效39。通過對(duì) DataGrid 進(jìn)行數(shù)據(jù)綁定,顯示有效預(yù)約狀態(tài)的用戶的用戶名、姓名及單位,有效預(yù)約的圖書的書名、著者、預(yù)約時(shí)間及到書時(shí)間和當(dāng)前預(yù)約狀態(tài)。在 Page_Load()函數(shù)中通過識(shí)別 type 傳遞參數(shù)來加載不同控件,1 表示加載當(dāng)前預(yù)約信息控件,2 表示加載歷史預(yù)約信息控件。SearchBtn_Click()函數(shù)處理“查詢”按鈕單擊事件,獲取查詢條件,其中需要對(duì)時(shí)間進(jìn)行特別的處理。 簡(jiǎn)單查詢頁面的主界面圖圖 10 簡(jiǎn)單查詢界面 信息發(fā)布模塊的設(shè)計(jì) 功能描述信息發(fā)布模塊包括查看最近上架的圖書信息頁面() 、當(dāng)前預(yù)約信息控件()和歷史預(yù)約信息控件()通過 頁面加載。 + userID + 39。 + userID + 39。如果用戶預(yù)約成功后,則彈出“預(yù)約成功”的提示框。% + str + %39。% + str + %39。% + str + %39。 預(yù)約流程圖查看預(yù)約信息NO用戶登錄查詢圖書預(yù)約NOYES是否預(yù)約成功是否登錄成功YES圖 9 預(yù)約流程圖 簡(jiǎn)單查詢頁面 的設(shè)計(jì)在 Page_Load()函數(shù)中,首先判斷用戶是否允許預(yù)約,如果不允許預(yù)約操作,則隱藏預(yù)約按鈕。Dim obj As DBController = New DBController (sqlstr, BookingGrid)End Sub 個(gè)人預(yù)約信息的主界面圖圖 8 個(gè)人預(yù)約信息界面 圖書查詢預(yù)約模塊的設(shè)計(jì) 功能描述圖書查詢模塊主要包含了簡(jiǎn)單查詢頁面() 、普通查詢頁面()和高級(jí)查詢頁面() 。 end,sqlstr += isReturned = (, getDate ())sqlstr += from BookingInfo a inner join BookInfo bsqlstr += on = where 0 and = 39。 when 2 then 39。其主要后臺(tái)處理代碼如下:Private Sub Page_Load (ByVal sender As , ByVal e As ) Handles If Not IsPostBack Then BindDBGrid () End IfEnd SubPrivate Sub BindDBGrid ()Dim sqlstr As String = sqlstr += select , , ,sqlstr += , , , returnDate = case sqlstr += when 0 then sqlstr += when 1 then () end ,sqlstr += stateMsg = case when 1 then 39。用戶信息頁面包括用戶的用戶名、姓名、性別、EMail、單位、電話、當(dāng)前狀態(tài)、是否為圖書管理員或系統(tǒng)管理員等信息;個(gè)人預(yù)約信息頁面做成加載控件的形式,通過傳遞參數(shù)在 頁面動(dòng)態(tài)加載控件。修改密碼時(shí)更新 SQL 語句,通過 DBController 中的 ExecNonSql 方法實(shí)現(xiàn)。其主要后臺(tái)處理代碼如下:Private Sub LoginBtn_Click (ByVal sender As , ByVal e As ) Handles Dim obj As DBController = New DBController If (, ) = 1 Then Session (UserID) = () Else ((), alter, ) End IfEnd Sub 注銷頁面 的設(shè)計(jì)在處理頁面的 Page_Load()函數(shù)中將 Session 賦為空,并將頁面重定向到。 登錄頁面 的設(shè)計(jì)在該頁面中,LoginBtn_Click()函數(shù)處理“登錄