【正文】
修改圖書(shū)信息。因?yàn)锳ccess能使用數(shù)據(jù)表示圖或自定義窗體收集信息。167。客戶(hù)機(jī)/服務(wù)器是將處理工作分散到工作站和服務(wù)器上去處理,服務(wù)器不僅負(fù)責(zé)存取數(shù)據(jù),還要對(duì)數(shù)據(jù)作一定的處理工作,這樣在數(shù)據(jù)發(fā)送給工作站之前即取得查詢(xún)結(jié)果集,從而在大部分情況下可大大減少網(wǎng)絡(luò)傳輸?shù)拈_(kāi)銷(xiāo)。這種模式最大的優(yōu)勢(shì)是對(duì)廣域分布用戶(hù)的支持(主要是基于這種架構(gòu)特殊的事務(wù)處理模式),即使是撥號(hào)上網(wǎng)的遠(yuǎn)程用戶(hù),也不會(huì)感覺(jué)速度很慢。但未能系統(tǒng)地考慮圖書(shū)借閱的需求和理念。167。關(guān)鍵詞: 圖書(shū)館; 借閱; 權(quán)限; 管理系統(tǒng)BOOK MANAGEMENT SYSTEMABSTRACTSince volumes of book management activities have to take place daily in library, it will be a hard work and be low efficiency if only manual operations are adopted in the management. To upgrade their management efficiency, people would like to develop various Book Management Systems to help their daily work. In this paper, a book management system built in Client/Server model is designed, which can meet requirements of most library management for its integration of general library transaction management processes.The design is a typical information management system (MIS), which based on Visual C++ and Access database platform development basis. In this paper, its development mainly including the system’s requirement analysis, function modules design, data model design and its VC implementation. The running of the system proves that it could meet the mon usage for various kinds of users including readers, library staffs and administrators.Keywords: library; borrowing; authority; management systemI 61第一章 緒論167。C++圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)(含源文件)圖書(shū)管理系統(tǒng)摘 要圖書(shū)館作為一個(gè)信息資源的集散地,包含很多信息數(shù)據(jù)的管理。167。 課題的來(lái)源本課題是基于Visual C++及Access數(shù)據(jù)庫(kù)平臺(tái)開(kāi)發(fā)的圖書(shū)借閱管理系統(tǒng),用于解決圖書(shū)在館內(nèi)信息的變更以及讀者借閱等問(wèn)題。圖書(shū)借閱管理系統(tǒng)的革命性變革出現(xiàn)在20世紀(jì)90年代末。另外,無(wú)需安裝、操作和維護(hù)簡(jiǎn)單方便也是這種應(yīng)用架構(gòu)的優(yōu)勢(shì)。因此,用戶(hù)只需關(guān)心界面的處理工作即可,從而減輕了工作處理負(fù)擔(dān)。 設(shè)計(jì)工具的選擇設(shè)計(jì)工具的選擇對(duì)一個(gè)系統(tǒng)的開(kāi)發(fā)來(lái)說(shuō)是十分重要的,既決定開(kāi)發(fā)人員的工作效率,也決定了能否給用戶(hù)提供一個(gè)友好的界面,還決定著今后是否能方便地對(duì)系統(tǒng)進(jìn)行維護(hù)、改善及擴(kuò)充。數(shù)據(jù)表示圖提供了一種類(lèi)似于Excel的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書(shū)信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。 系統(tǒng)角色類(lèi)型 該系統(tǒng)共有兩類(lèi)用戶(hù),他們是:管理員和讀者管理員整個(gè)系統(tǒng)的最高管理者讀者可查詢(xún)相關(guān)信息 用戶(hù)類(lèi)別總圖讀者:讀者是權(quán)限最低的用戶(hù),只能進(jìn)行信息瀏覽,無(wú)法進(jìn)行其它的操作。但是,這兩部分都調(diào)用的是同一數(shù)據(jù)庫(kù),只不過(guò)內(nèi)部管理人員能實(shí)現(xiàn)所有管理功能,而外部讀者訪問(wèn)數(shù)據(jù)庫(kù)時(shí),一些功能被屏蔽了。 預(yù)期目的216。 繪制數(shù)據(jù)庫(kù)各數(shù)據(jù)表之間的關(guān)系圖216。 用戶(hù)216。 刪除讀者類(lèi)型基本信息(2)功能特性讀者類(lèi)型設(shè)置模塊主要是用于設(shè)置不同權(quán)限用戶(hù)的借書(shū)數(shù)量 。讀者檔案管理模塊主要包括:216。 顯示讀者檔案基本信息表(4)前提條件實(shí)現(xiàn)本功能,必須具有圖書(shū)管理系統(tǒng)管理員權(quán)限。 刪除類(lèi)型類(lèi)型基本信息(2)功能特性圖書(shū)類(lèi)型設(shè)置模塊幫助圖書(shū)管理人員在新書(shū)的入庫(kù)的操作方面帶來(lái)極大的方便,在一定程度上簡(jiǎn)化了煩瑣的圖書(shū)信息錄入操作。開(kāi) 始圖書(shū)管理添加圖書(shū)信息人工輸入刪除圖書(shū)信息類(lèi)心人工輸入圖書(shū)是否存在刪除成功結(jié) 束重新填寫(xiě)YNYN是否刪除NYYN修改圖書(shū)信息圖書(shū)是否存在人工輸入修改信息是否修改修改成功NNYY添加成功圖書(shū)是否存在是否添加 圖書(shū)信息管理流程圖(1)功能說(shuō)明圖書(shū)信息管理子系統(tǒng)模塊幫助圖書(shū)管理人員對(duì)圖書(shū)管中新書(shū)的入館、圖書(shū)的借閱、圖書(shū)信息的修改,圖書(shū)的查詢(xún)和盤(pán)點(diǎn)等操作進(jìn)行全面的控制和管理,以達(dá)到記錄圖書(shū)館庫(kù)存、統(tǒng)計(jì)圖書(shū)數(shù)量、記錄圖書(shū)流量,杜絕圖書(shū)在管理過(guò)程中的混亂現(xiàn)象,提高了圖書(shū)管理人員的工作效率,以達(dá)到保證圖書(shū)借閱過(guò)程順利進(jìn)行的目的。 圖書(shū)出版社216。(2)功能特性該模塊的主要是功能是完成讀者對(duì)圖書(shū)的借閱,并且該模塊操作方便,界面人性化。(2)功能特性完成讀者對(duì)圖書(shū)的歸還。 管理員設(shè)置模塊167。 管理員條碼216。開(kāi)始查詢(xún)輸入查詢(xún)條件查詢(xún)的信息是否存在NY顯示查詢(xún)結(jié)果結(jié)束(1)功能說(shuō)明圖書(shū)信息查詢(xún)子系統(tǒng)模塊幫助讀者了解圖書(shū)館中相關(guān)信息的情況,以便讀者可以有針對(duì)性的借閱圖書(shū),可以更好的滿(mǎn)足讀者的要求,又提高了圖書(shū)管理人員的工作效率,保證圖書(shū)借閱過(guò)程順利進(jìn)行的目的。167。(4)、物理設(shè)計(jì)的任務(wù)是確定所有屬性的類(lèi)型、寬度與取值范圍,設(shè)計(jì)出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如MS 所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式數(shù)據(jù)庫(kù)的設(shè)計(jì)中,如何處理多對(duì)多的關(guān)系和如何設(shè)計(jì)主鍵,是兩個(gè)有著較大難度、需要重點(diǎn)考慮的問(wèn)題。 /*聲明記錄集*/ CString mSqlStr。 mSqlStr = mSqlStr + m_strPassword。 m_strUSERID = _T()。進(jìn)入該模塊點(diǎn)擊刪除按鈕,點(diǎn)擊要?jiǎng)h除的讀者的基本,點(diǎn)擊確定即可完成修改操作。 } }void CReaderMDlg::OnNew() { // TODO: Add your control notification handler code here m_strReaderID = 。 CWnd *pWnd。 SetButtonState()。 = m_strReaderID。 SetTextState()。 SetButtonState()。 if (() amp。 if (!()) { = READER_ID=39。 + m_strReaderNameQ。 m_strReaderName = 。 return TRUE。 pWnd = GetDlgItem(IDC_LAST)。 pWnd = GetDlgItem(IDC_DELETE)。 pWndEnableWindow(FALSE)。 pWndEnableWindow(FALSE)。 pWndEnableWindow(TRUE)。 } else { pWnd = GetDlgItem(IDC_FIRST)。 } else { pWnd = GetDlgItem(IDC_NEXT)。 pWnd = GetDlgItem(IDC_DELETE)。 pWnd = GetDlgItem(IDC_ENQUERY)。 // TODO: Add extra initialization here m_bAdd = FALSE。 if (m_bEdit) { pWnd = GetDlgItem(IDC_READER_NAME)。 pWndEnableWindow(FALSE)。 pWndEnableWindow(TRUE)。進(jìn)入模塊點(diǎn)擊刪除按鈕,然后點(diǎn)擊要?jiǎng)h除的一條圖書(shū)類(lèi)型信息記錄,再點(diǎn)擊確定即可完成刪除操作。 CString mSqlStr。 } = READER_ID=39。 AfxMessageBox(數(shù)據(jù)表打開(kāi)錯(cuò)誤!)。 + m_strBookID。 } } else { AfxMessageBox(無(wú)此書(shū)!)。// mSqlStr = INSERT INTO BORROW (READER_ID, BOOK_ID, BORROW_DATE, B_CLERK_ID) VALUES(39。// mSqlStr = mSqlStr + 39。 } try { (mSqlStr)。 // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}167。 if (strcmp(m_Book_ID,)==0) return 0。 m_ReturnDate_tmp=+m_TimeSpan_tmp。 Insert_History()。 rs=QryBorrow()。 ::MessageBox(thism_hWnd,該書(shū)號(hào)信息不存在!,警告,MB_OK)。 (insert into fine(Reader_ID,amount,days,fine_date) values( \39。 } try { ()。 ()。 } m_strsql=INSERT INTO HISTORY (READER_ID,BOOK_ID,BORROW_DATE,RETURN_DATE) VALUES (39。)。 m_Book_ID=。 return 1。 pWnd=GetDlgItem(IDC_EDITDays)。代碼實(shí)現(xiàn):void CFineDlg::OnConfirm() { // TODO: Add your control notification handler code here // UpdateData(TRUE)。 if(!(_T(library))) AfxMessageBox(數(shù)據(jù)庫(kù)打開(kāi)出錯(cuò))。 return。 _itoa(m_nAmount,mTemp,10)。 } catch(CDBException e) { AfxMessageBox(執(zhí)行錯(cuò)!)。 } m_szReaderID = m_strReaderID。 if (()) { AfxMessageBox(沒(méi)有此讀者!)。 mSqlStr = mSqlStr + 39。 m_nDays = 。 測(cè)試目的測(cè)試的重點(diǎn)是對(duì)各項(xiàng)功能的正常運(yùn)轉(zhuǎn)進(jìn)行全面測(cè)試,檢測(cè)軟件的各子系統(tǒng)的協(xié)作能力。 測(cè)試用例本項(xiàng)目所做的測(cè)試列表如下:測(cè)試單元: 圖書(shū)信息管理單元 測(cè)試類(lèi)型:功能測(cè)試測(cè)試日期:2010/5/10 圖書(shū)信息管理測(cè)試用例表編號(hào)測(cè)試說(shuō)明期望結(jié)果實(shí)際結(jié)果成功/失敗1測(cè)試新書(shū)信息添加是否成功新書(shū)信息成功寫(xiě)入數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)中可以找到新添加記錄。167。設(shè)計(jì)體會(huì)與總結(jié)本設(shè)計(jì)是一個(gè)面向圖書(shū)館借閱管理的,具有一定實(shí)用性的數(shù)據(jù)庫(kù)信息管理系統(tǒng)。 添加功能尚不夠全面完善,不能動(dòng)態(tài)生成讀者編號(hào)和圖書(shū)編號(hào)。 在一些數(shù)據(jù)輸入時(shí)沒(méi)有及時(shí)的進(jìn)行數(shù)據(jù)格式校驗(yàn),不能保證數(shù)據(jù)輸入的絕對(duì)正確性。本系統(tǒng)采用當(dāng)前流行的面向?qū)ο蟮拈_(kāi)發(fā)工具Visual C++以及數(shù)據(jù)庫(kù)工具Access來(lái)完成整個(gè)系統(tǒng)的設(shè)計(jì)。 軟硬件環(huán)境硬件配置:586以上檔次的計(jì)算機(jī),彩色顯示器,內(nèi)存128M,硬盤(pán)10G。 測(cè)試結(jié)論根據(jù)上面的測(cè)試,該系統(tǒng)各功能模塊均能正常使用,此次設(shè)計(jì)完成。 確保系統(tǒng)達(dá)到需求功能的說(shuō)明;216。 ()。 if (!(AFX_DB_USE_DEFAULT_TYPE,mSqlStr)) { AfxMessageBox(數(shù)據(jù)表打開(kāi)失?。?。 return。 if(!(AFX_DB_USE_DEFAULT_TYPE)) { AfxMessageBox(數(shù)據(jù)表打開(kāi)失??!)。 } ()。 + m_szReaderID。 + m_szReaderID。Y39。// pWnd = GetDlgItem(IDC_READER_ID)。 return 1。 pWnd=GetDlgItem(IDC_EDITReaderName)。 m_Days=0。 (m_strsql)。 m_strsql=m_strsql+,39。 } catch(CDBException e) { AfxMessageBox(數(shù)據(jù)庫(kù)執(zhí)行出錯(cuò))。 m_strsql = UPD