![MFC圖書(shū)管理系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/4b68f89d-04f6-477f-b1a2-e9354e0771b5/4b68f89d-04f6-477f-b1a2-e9354e0771b51.gif)
![MFC圖書(shū)管理系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/4b68f89d-04f6-477f-b1a2-e9354e0771b5/4b68f89d-04f6-477f-b1a2-e9354e0771b52.gif)
![MFC圖書(shū)管理系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/4b68f89d-04f6-477f-b1a2-e9354e0771b5/4b68f89d-04f6-477f-b1a2-e9354e0771b53.gif)
![MFC圖書(shū)管理系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/4b68f89d-04f6-477f-b1a2-e9354e0771b5/4b68f89d-04f6-477f-b1a2-e9354e0771b54.gif)
![MFC圖書(shū)管理系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/4b68f89d-04f6-477f-b1a2-e9354e0771b5/4b68f89d-04f6-477f-b1a2-e9354e0771b55.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí) 用 軟 件 開(kāi) 發(fā)課題:圖書(shū)館管理系統(tǒng)課程名稱(chēng): 實(shí) 用 軟 件 開(kāi) 發(fā) 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 班 級(jí): 組 員: 組 員: 組 員: 指導(dǎo)教師: 2012-5-31第一章 圖書(shū)管理系統(tǒng)的概述1.1圖書(shū)館整體概述二十一世紀(jì)是信息高度交流與發(fā)展的時(shí)代,計(jì)算機(jī)系統(tǒng)則在信息時(shí)代扮演著極為重要的腳色,隨著計(jì)算機(jī)的不斷發(fā)展,計(jì)算機(jī)已滲透到各個(gè)領(lǐng)域,圖書(shū)館也不例外。圖書(shū)館在正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息、書(shū)籍信息以及兩者相互作用產(chǎn)生的借書(shū)信息、還書(shū)信息。由于圖書(shū)館需要對(duì)讀者資源、書(shū)籍資源、借書(shū)信息、還書(shū)信息進(jìn)行管理,需要及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,以提高圖書(shū)館管理效率,因此圖書(shū)館的計(jì)算機(jī)
2、化以不容遲緩。數(shù)字圖書(shū)館就是圖書(shū)館藏信息實(shí)現(xiàn)數(shù)字化管理, 并且上網(wǎng)服務(wù), 使讀者能隨時(shí)隨地查閱。所需資料與傳統(tǒng)圖書(shū)館藏書(shū)不同的是, 數(shù)字圖書(shū)館中的眾多的圖書(shū), 不再孤立分散于世界各地的圖書(shū)館中, 而是永久性地存儲(chǔ)在硬盤(pán)、光盤(pán)、光介質(zhì)之中, 或流動(dòng)全球信息網(wǎng)上, 成為人類(lèi)共享的知識(shí)財(cái)富。圖書(shū)館是一個(gè)專(zhuān)門(mén)收集、整理、保存、傳播文獻(xiàn)并提供利用的科學(xué)、文化、教育和科研機(jī)構(gòu)?,F(xiàn)代社會(huì),圖書(shū)館成為繼續(xù)教育、終身教育的基地,擔(dān)負(fù)了更多的教育職能。傳遞科學(xué)情報(bào),是現(xiàn)代圖書(shū)館的一個(gè)重要職能。圖書(shū)館收藏的圖書(shū)資料,是人類(lèi)長(zhǎng)期積累的一種智力資源,圖書(shū)館對(duì)這些資源的加工、處理,是對(duì)這種智力資源的開(kāi)發(fā)。圖書(shū)館主要是用來(lái)
3、學(xué)習(xí)的,如果有人遇到問(wèn)題,他可以通過(guò)圖書(shū)管的書(shū)籍來(lái)解決問(wèn)題。但是為了圖書(shū)館的正常運(yùn)行和保護(hù)圖書(shū),圖書(shū)館管理系統(tǒng)將用戶(hù)劃分為二類(lèi)人:借閱者,系統(tǒng)管理員。一個(gè)基本的圖書(shū)館管理,可以大致分為以下流程:用戶(hù)登錄進(jìn)入系統(tǒng),在系統(tǒng)允許的情況下,進(jìn)行可以進(jìn)行的操作,如借書(shū)、還書(shū)等;管理員可以管理書(shū)籍,整理書(shū)籍,管理借閱者信息等。如圖所示,為系統(tǒng)整體功能模塊圖,該系統(tǒng)分為2大子系統(tǒng),分別為借閱者子系統(tǒng),系統(tǒng)管理子系統(tǒng)。圖1-1系統(tǒng)整體功能模塊圖1.2借閱者子模塊描述借閱者可以通過(guò)系統(tǒng)根據(jù)書(shū)籍編號(hào),書(shū)籍作者,書(shū)籍名稱(chēng)以及書(shū)籍類(lèi)型來(lái)查詢(xún)想獲取的書(shū)籍;借閱者也可以通過(guò)本系統(tǒng)借閱書(shū)籍,歸還書(shū)籍,繳納罰金,登記丟失的書(shū)
4、籍以及續(xù)借書(shū)籍。其功能細(xì)化圖如下:圖1-2借閱者管理系統(tǒng)功能模塊圖1.2.1書(shū)籍查詢(xún)子模塊借閱者可以通過(guò)系統(tǒng)根據(jù)書(shū)籍編號(hào),書(shū)籍作者,書(shū)籍名稱(chēng)以及書(shū)籍類(lèi)型來(lái)查詢(xún)想獲取的書(shū)籍;圖1-3書(shū)籍查詢(xún)模塊圖1.2.2書(shū)籍歸還與借閱模塊借閱者也可以通過(guò)本系統(tǒng)借閱書(shū)籍,歸還書(shū)籍,繳納罰金,登記丟失的書(shū)籍以及續(xù)借書(shū)籍。圖1-4書(shū)籍借還模塊圖1.3系統(tǒng)管理子模塊在圖書(shū)館管理子系統(tǒng)中,其功能概述如下:1)管理書(shū)目信息,如增加、刪除和更新,查看書(shū)目信息其功能細(xì)化圖如下:圖1-5圖書(shū)館管理系統(tǒng)功能模塊圖1.3.1書(shū)籍信息管理在書(shū)籍信息管理子系統(tǒng)中,其功能概述如下:1)添加書(shū)籍信息,便于管理書(shū)籍2)刪除書(shū)籍信息,便于管理
5、書(shū)籍3)檢索書(shū)籍信息,便于管理書(shū)籍4)查看書(shū)籍信息,便于了解書(shū)籍基本情況其功能細(xì)化圖如下:圖1-6書(shū)籍信息管理系統(tǒng)功能模塊圖1.3.2借閱者信息管理在借閱者信息管理子系統(tǒng)中,其功能概述如下:1)添加借閱者信息2)刪除借閱者信息3)檢索借閱者信息,便于管理借閱者4)查看借閱者信息,便于了解借閱者基本信息其功能細(xì)化圖如下:圖1-7借閱者信息管理系統(tǒng)功能模塊圖1.3.3管理員信息管理在借閱者信息管理子系統(tǒng)中,其功能概述如下:1)添加管理員信息2)刪除管理員信息3)查看借閱者信息,便于了解借閱者基本信息其功能細(xì)化圖如下:圖1-8管理員信息管理系統(tǒng)功能模塊圖1.3.4書(shū)籍類(lèi)別信息管理在借閱者信息管理子系
6、統(tǒng)中,其功能概述如下:1)添加管理員信息2)刪除管理員信息3)查看借閱者信息,便于了解借閱者基本信息其功能細(xì)化圖如下:圖1-9書(shū)籍類(lèi)別信息管理模塊圖第二章 數(shù)據(jù)庫(kù)設(shè)計(jì)2.1 E-R圖由于本圖書(shū)館管理系統(tǒng)沒(méi)有海量數(shù)據(jù)的存儲(chǔ)問(wèn)題,其數(shù)據(jù)一般不是很多,所以沒(méi)有必要選用像Oracle這樣的數(shù)據(jù)庫(kù)。另外現(xiàn)階段尚處于演示階段,對(duì)安全性要求不是很高,SQL Server足可以勝任,所以我們選用了Microsoft SQL Servers 2000。數(shù)據(jù)通信接口采用ODBC(Open Database Connectivity,開(kāi)放數(shù)據(jù)庫(kù)互連)。ODBC是微軟開(kāi)發(fā)的一套讀取數(shù)據(jù)庫(kù)的解決方案,它的目的是將所有對(duì)
7、數(shù)據(jù)庫(kù)的底層操作全部隱藏在ODBC的驅(qū)動(dòng)程序內(nèi)核里。對(duì)于程序員來(lái)說(shuō),只要構(gòu)建了一個(gè)指向數(shù)據(jù)庫(kù)的連接,就可以采用統(tǒng)一的應(yīng)用程序編程接口實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)。目前ODBC驅(qū)動(dòng)已經(jīng)提供了對(duì)大多數(shù)常見(jiàn)類(lèi)型數(shù)據(jù)庫(kù)的支持,包括dBase,Informix,Access,SQL Server和Oracle等。也包括了對(duì)其它類(lèi)型的數(shù)據(jù)庫(kù)的支持,如文本,Excel電子表格等的支持。本章主要設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各個(gè)實(shí)體以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。根據(jù)以上的分析設(shè)計(jì)結(jié)果,得到管理員實(shí)體、書(shū)籍實(shí)體、書(shū)籍類(lèi)別實(shí)體、借閱信息實(shí)體以及借閱者實(shí)體。下面來(lái)介紹這些實(shí)體的E-R圖:2.1.1管理員實(shí)體管理
8、員實(shí)體包括:用來(lái)記錄管理員的ID號(hào)的AID,用來(lái)記錄管理員的姓名和密碼的ANAME和APassword。管理員實(shí)體的E-R圖如下所示:圖2-1 管理員實(shí)體E-R圖2.1.2書(shū)籍實(shí)體書(shū)籍實(shí)體包括:書(shū)籍的BID號(hào)、書(shū)名BName、作者BAuthor、出版社BPress、出版日期BPress_data、書(shū)籍備注BDesc、價(jià)格BPrice和類(lèi)別號(hào)BType,其中BFlag_Borrow屬性用來(lái)表示該書(shū)是否以借出。書(shū)籍實(shí)體的E-R圖如下所示:圖2-2 書(shū)籍實(shí)體E-R圖2.1.3書(shū)籍類(lèi)別實(shí)體 書(shū)籍類(lèi)別實(shí)體包括:書(shū)籍的類(lèi)別號(hào)BType、類(lèi)別名TypeName以及可以借閱的最長(zhǎng)日期DaysCanBorrow
9、。書(shū)籍類(lèi)別實(shí)體的E-R圖如下所示:圖2-3書(shū)籍類(lèi)別實(shí)體E-R圖2.1.4借閱信息實(shí)體 借閱信息實(shí)體包括:借閱者的ID號(hào)RID、書(shū)籍的ID號(hào)BID、借閱的日期BORROW_DATE和還書(shū)日期BACK_DATE。借閱信息實(shí)體的E-R圖如下所示:圖2-4 借閱信息實(shí)體E-R圖2.1.5借閱者實(shí)體借閱者實(shí)體包括:借閱者的ID號(hào)RID、借閱者姓名RName、借閱者類(lèi)別RType、借閱者可以保留書(shū)籍的最長(zhǎng)日期RMaxNum_Can_borrow、是否已借書(shū)的標(biāo)記RFlag_Borrow。借閱者實(shí)體的E-R圖如下所示:圖2-5 借閱者實(shí)體E-R圖2.1.6系統(tǒng)E-R圖系統(tǒng)E-R圖包含了各個(gè)實(shí)體間的關(guān)系,如下
10、圖所示:圖2-6 系統(tǒng)E-R圖2.2主要數(shù)據(jù)表的結(jié)構(gòu)數(shù)據(jù)庫(kù)在整個(gè)系統(tǒng)中占據(jù)著非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞直接影響著系統(tǒng)的效率和實(shí)現(xiàn)效果。本系統(tǒng)采用SQL Server 2000數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的名稱(chēng)為library,下面介紹library數(shù)據(jù)庫(kù)中的主要數(shù)據(jù)表結(jié)構(gòu)。2.2.1 Admin表Admin表用來(lái)存儲(chǔ)管理員的身份信息,AID用來(lái)記錄管理員的ID號(hào),ANAME和APassword用來(lái)記錄管理員的姓名和密碼,該表的結(jié)構(gòu)如下圖所示:圖2-7 Admin表結(jié)構(gòu)2.2.2 Book表Book表用來(lái)存儲(chǔ)書(shū)籍的具體信息,分別記錄了書(shū)籍的BID號(hào)、書(shū)名BName、作者BAuthor、出版社BPre
11、ss、出版日期BPress_data、書(shū)籍備注BDesc、價(jià)格BPrice和類(lèi)別號(hào)BType,其中BFlag_Borrow屬性用來(lái)表示該書(shū)是否以借出,該表的結(jié)構(gòu)如下圖所示:圖2-8 Book表結(jié)構(gòu)2.2.3 Booktype表Booktype表用來(lái)存儲(chǔ)書(shū)籍類(lèi)別的具體信息,分別記錄了書(shū)籍的類(lèi)別號(hào)BType、類(lèi)別名TypeName以及可以借閱的最長(zhǎng)日期DaysCanBorrow,該表的結(jié)構(gòu)如下圖所示:圖2-9 Booktype表結(jié)構(gòu)2.2.4 Borrow表Borrow表用來(lái)存儲(chǔ)書(shū)籍借閱的具體信息,分別記錄了借閱者的ID號(hào)RID、書(shū)籍的ID號(hào)BID、借閱的日期BORROW_DATE和還書(shū)日期BAC
12、K_DATE,該表的結(jié)構(gòu)如下圖所示:圖2-10 Borrow表結(jié)構(gòu)2.2.5 ReaderReader表用來(lái)存儲(chǔ)借閱者的具體信息,分別記錄了借閱者的ID號(hào)RID、借閱者姓名RName、借閱者類(lèi)別RType、借閱者可以保留書(shū)籍的最長(zhǎng)日期RMaxNum_Can_borrow、以及是否已借書(shū)的標(biāo)記RFlag_Borrow,該表的結(jié)構(gòu)如下圖所示:圖2-11 Reader表結(jié)構(gòu)第三章 圖書(shū)管理系統(tǒng)的實(shí)現(xiàn)圖書(shū)管理系統(tǒng)系統(tǒng)的實(shí)現(xiàn)首先要實(shí)現(xiàn)的是用戶(hù)能夠正確的通過(guò)權(quán)限進(jìn)行登錄驗(yàn)證成功后,對(duì)管理系統(tǒng)的一系列操作。即系統(tǒng)先將用戶(hù)登錄信息寫(xiě)入日志數(shù)據(jù)表,然后顯示圖書(shū)管理系統(tǒng)的主窗口;如果用戶(hù)登錄失敗,系統(tǒng)顯示登錄失敗
13、信息。登陸界面如下所示:圖3-1登陸界面實(shí)現(xiàn)用戶(hù)登錄到學(xué)生考試成績(jī)管理系統(tǒng)的流程圖如圖所示:圖3-2登錄流程圖登錄成功后,管理員進(jìn)入到學(xué)生考試成績(jī)系統(tǒng)界面,界面如下所示圖3-3系統(tǒng)主界面3.1借閱者子模塊的實(shí)現(xiàn)借閱者可以通過(guò)系統(tǒng)根據(jù)書(shū)籍編號(hào),書(shū)籍作者,書(shū)籍名稱(chēng)以及書(shū)籍類(lèi)型來(lái)查詢(xún)想獲取的書(shū)籍;借閱者也可以通過(guò)本系統(tǒng)借閱書(shū)籍,歸還書(shū)籍,繳納罰金,登記丟失的書(shū)籍以及續(xù)借書(shū)籍。3.1.1書(shū)籍查詢(xún)子模塊的實(shí)現(xiàn)借閱者可以通過(guò)系統(tǒng)根據(jù)書(shū)籍編號(hào),書(shū)籍作者,書(shū)籍名稱(chēng)以及書(shū)籍類(lèi)型來(lái)查詢(xún)想獲取的書(shū)籍;查詢(xún)界面的設(shè)計(jì):圖3-4書(shū)籍查詢(xún)界面查詢(xún)編程的實(shí)現(xiàn):查詢(xún)流程圖如下:圖3-5書(shū)籍查詢(xún)流程圖主要代碼如下:void C
14、BookSelectDlg:OnIDSearch() / TODO: Add your control notification handler code herem_List.DeleteAllItems();UpdateData();if(m_BookID.IsEmpty()AfxMessageBox("圖書(shū)ID不能為空");return ;ClearText();if(!m_BookRset.Open(AFX_DB_USE_DEFAULT_TYPE,_T("select * from BOOK where BID='"+m_BookID+&
15、quot;'")AfxMessageBox("數(shù)據(jù)表BOOK打開(kāi)失敗");return;int i=0;CString str;while(!m_BookRset.IsEOF()m_BookRset.m_BID.TrimRight();m_BookRset.m_BName.TrimRight();m_BookRset.m_BAuthor.TrimRight();m_BookRset.m_BPress.TrimRight();m_BookRset.m_BDesc.TrimRight();m_List.InsertItem(i,m_BookRset.m_BID
16、);m_List.SetItemText(i,1,m_BookRset.m_BName);m_List.SetItemText(i,2,m_BookRset.m_BAuthor);m_List.SetItemText(i,3,m_BookRset.m_BPress);str.Format("%d",m_BookRset.m_BType);if(!m_TypeRset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from BOOKTYPE where BType='"+str+"'")A
17、fxMessageBox("BOOKTYPE表打開(kāi)失敗!");m_BookRset.Close();return;if(m_TypeRset.IsEOF()AfxMessageBox("查找圖書(shū)類(lèi)型出錯(cuò)!");m_TypeRset.Close();m_BookRset.Close();return;m_TypeRset.m_TpyeName.TrimRight();m_List.SetItemText(i,4,m_TypeRset.m_TpyeName);str=m_BookRset.m_BRress_date.Format("%Y-%m-%d
18、");m_List.SetItemText(i,5,str);str.Format("%5.1f¥",m_BookRset.m_BPrice);m_List.SetItemText(i,6,str);str.Format("%d天",m_TypeRset.m_DaysCanBorrow);m_List.SetItemText(i,7,str);m_List.SetItemText(i,8,m_BookRset.m_BFlag_Borrow);m_List.SetItemText(i,9,m_BookRset.m_BDesc);i+;m_Book
19、Rset.MoveNext();m_TypeRset.Close();m_BookRset.Close();m_List.SetRedraw(TRUE);3.1.2書(shū)籍借還子模塊的實(shí)現(xiàn)借閱者也可以通過(guò)本系統(tǒng)借閱書(shū)籍,歸還書(shū)籍,繳納罰金,登記丟失的書(shū)籍以及續(xù)借書(shū)籍。借書(shū)界面的設(shè)計(jì):圖3-6書(shū)籍借閱界面借書(shū)編程的實(shí)現(xiàn):流程圖如下:圖3-7借書(shū)流程圖主要代碼如下void CBorrw:OnButton1() / TODO: Add your control notification handler code hereUpdateData();if(!m_bCanBorrow)AfxMessageBo
20、x("讀者借書(shū)證件已欠費(fèi)或有書(shū)還未按時(shí)歸還,請(qǐng)及時(shí)繳費(fèi),還書(shū)后再借!");return ;CDatabase db;db.Open(_T("Library");CBookRset rs(&db);m_strBookID.TrimRight();if(!rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from BOOK where BID='"+m_strBookID+"'") AfxMessageBox("數(shù)據(jù)表Reader打開(kāi)失??!"
21、);return ; if(rs.IsEOF() AfxMessageBox("圖書(shū)編號(hào)為:"+m_strBookID+"的圖書(shū)不存在!");return ;elsers.m_BFlag_Borrow.TrimRight();if(rs.m_BFlag_Borrow="已借出" |rs.m_BFlag_Borrow="已丟失")AfxMessageBox("該書(shū)已借出或已丟失 提交失敗!");return ;m_strBFlagBorrw=_T("已借出");tryrs.Ed
22、it();rs.m_BFlag_Borrow="已借出"rs.Update();catch(CDBException e)AfxMessageBox("提交失??!"+e.m_strError);CString strSQL;CTime time,time1;time=CTime:GetCurrentTime();CTimeSpan time2(30,0,0,0);time1=time+time2;strSQL.Format("Insert into Borrow(RID,BID,BORROW_DATE,BACK_DATE) values(
23、9;%s','%s','%s','%s')",m_strReaderID,m_strBookID,time.Format("%Y-%m-%d"),time1.Format("%Y-%m-%d"); trydb.BeginTrans();db.ExecuteSQL(strSQL);db.CommitTrans();catch(CDBException e)AfxMessageBox("錯(cuò)誤:"+e.m_strError);UpdateData(FALSE);AfxMess
24、ageBox("提交成功");void CBorrw:OnButton2() / TODO: Add your control notification handler code hereEndDialog(IDCANCEL);還書(shū)界面的設(shè)計(jì):圖3-8書(shū)籍歸還界面還書(shū)編程的實(shí)現(xiàn):流程圖如下:圖3-9書(shū)籍歸還流程圖主要代碼如下:BOOL CBOOKBACK:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_List.InsertColumn(0,"讀者ID&quo
25、t;,LVCFMT_LEFT,100);m_List.InsertColumn(1,"圖書(shū)ID",LVCFMT_LEFT,100);m_List.InsertColumn(2,"借書(shū)日期",LVCFMT_LEFT,100);m_List.InsertColumn(3,"應(yīng)還日期",LVCFMT_LEFT,100);m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);m_List.SetBkColor(RGB(244,200,222);m_List.SetTextBkColor(RGB(244,2
26、00,222);m_List.SetTextColor(RGB(0,00,60);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CBOOKBACK:Onbackbook() / TODO: Add your control notification handler code hereUpdateData();int i=m_List.GetSelectionMark();if(i<0)AfxMe
27、ssageBox("請(qǐng)選擇要?dú)w還的圖書(shū)");return;elseif(!BorrowBook.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from BORROW where RID='"+m_ID+"'")AfxMessageBox("數(shù)據(jù)庫(kù)打開(kāi)失?。?quot;);return ;CTimeSpan time=CTime:GetCurrentTime()-BorrowBook.m_BACK_DATE;if(time.GetDays()<0)AfxMessageBox
28、("借書(shū)超期,請(qǐng)先繳費(fèi)!");BorrowBook.Close();return ;tryBook.Edit();Book.m_BFlag_Borrow="在架"Book.Update();catch(.)AfxMessageBox("出現(xiàn)異常!");Book.Close();BorrowBook.Close();return ;tryBorrowBook.Delete();BorrowBook.Requery(); catch(.)AfxMessageBox("注銷(xiāo)失?。?quot;);Book.Close();Borro
29、wBook.Close();return ;Book.Close();BorrowBook.Close();m_List.DeleteItem(i);m_List.SetRedraw(TRUE);續(xù)借界面的實(shí)現(xiàn):圖3-10書(shū)籍續(xù)借界面續(xù)借編程的實(shí)現(xiàn):流程圖如下:圖3-11書(shū)籍續(xù)借流程圖主要代碼如下:BOOL CBorrowDalyDlg:OnInitDialog() CDialog:OnInitDialog();m_List.InsertColumn(0,"圖書(shū)ID",LVCFMT_LEFT,80);m_List.InsertColumn(1,"讀者ID"
30、;,LVCFMT_LEFT,80);m_List.InsertColumn(2,"借書(shū)日期",LVCFMT_LEFT,95);m_List.InsertColumn(3,"還書(shū)日期",LVCFMT_LEFT,95);/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CBorrowDalyDlg
31、:OnKillfocusEdit1() UpdateData(TRUE);m_List.DeleteAllItems();if(m_ReaderID.IsEmpty()return ;if(!m_BorrowRset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from Borrow where RID='"+m_ReaderID+"'")AfxMessageBox("數(shù)據(jù)表打開(kāi)失敗");else if(m_BorrowRset.IsEOF()AfxMessageBox("不
32、存在讀者"+m_ReaderID+"信息");(CEdit*)GetDlgItem(IDC_EDIT1)->SetFocus();elseint i=0;CString str=_T("");while(!m_BorrowRset.IsEOF()m_BorrowRset.m_BID.TrimRight();m_List.InsertItem(i,m_BorrowRset.m_BID);m_BorrowRset.m_RID.TrimRight();m_List.SetItemText(i,1,m_BorrowRset.m_RID);str=
33、m_BorrowRset.m_BORROW_DATE.Format("%Y-%m-%d");m_List.SetItemText(i,2,str);str=m_BorrowRset.m_BACK_DATE.Format("%Y-%m-%d");m_List.SetItemText(i,3,str);m_BorrowRset.MoveNext();m_List.SetRedraw(TRUE);m_BorrowRset.Close();void CBorrowDalyDlg:OnButton1() / TODO: Add your control notif
34、ication handler code hereif(m_BookID.IsEmpty()AfxMessageBox("請(qǐng)選擇要續(xù)借的書(shū)籍!");return ;if(!m_BorrowRset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from Borrow where BID='"+m_BookID+"'")AfxMessageBox("數(shù)據(jù)表打開(kāi)失敗");elseCTimeSpan time(30,0,0,0);m_BorrowRset.Edit();m_
35、BorrowRset.m_BACK_DATE=CTime:GetCurrentTime()+time;m_BorrowRset.Update();m_BorrowRset.Close();void CBorrowDalyDlg:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereint i=m_List.GetSelectionMark();if(i>=0)m_BookID=m_List.GetItemText(i,0);UpdateDat
36、a(FALSE);*pResult = 0;void CBorrowDalyDlg:OnButton4() / TODO: Add your control notification handler code hereEndDialog(IDCANCEL);繳納罰金界面的設(shè)計(jì):圖3-12繳納罰金的編程實(shí)現(xiàn):流程圖如下:圖3-13主要代碼如下:void CFMoneyDlg:OnCommite() / TODO: Add your control notification handler code hereCTimeSpan time(0,0,0,0);if(m_BorrowRset.IsOpe
37、n()m_BorrowRset.Close();elseif(!m_BorrowRset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from Borrow where RID='"+m_ReaderID+"'")AfxMessageBox("打開(kāi)Borrow表數(shù)據(jù)失?。?quot;);return ;else if(m_BorrowRset.IsEOF()AfxMessageBox("未找到:"+m_ReaderID);return ;elsewhile(!m_Borrow
38、Rset.IsEOF()m_BorrowRset.Edit();m_BorrowRset.m_BACK_DATE=CTime:GetCurrentTime();m_BorrowRset.Update();time+=(CTime:GetCurrentTime()-m_BorrowRset.m_BACK_DATE);m_BorrowRset.MoveNext();m_money=time.GetDays()*m_setmoney;UpdateData(FALSE);m_BorrowRset.Close();void CFMoneyDlg:OnEnddlg() / TODO: Add your c
39、ontrol notification handler code hereEndDialog(IDCANCEL);void CFMoneyDlg:OnKillfocusEdit13() / TODO: Add your control notification handler code hereOnKillfocusEdit1();void CFMoneyDlg:OnKillfocusEdit1() / TODO: Add your control notification handler code hereUpdateData();CTimeSpan time(0,0,0,0);if(m_R
40、eaderID.IsEmpty()AfxMessageBox("讀者ID不能為空!");return ;if(m_BorrowRset.IsOpen()m_BorrowRset.Close();elseif(!m_BorrowRset.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from Borrow where RID='"+m_ReaderID+"'")AfxMessageBox("打開(kāi)Borrow表數(shù)據(jù)失??!");return ;else if(m_Borro
41、wRset.IsEOF()AfxMessageBox("未找到:"+m_ReaderID);return ;elsewhile(!m_BorrowRset.IsEOF()m_BorrowBookID.AddString(m_BorrowRset.m_BID);time+=(CTime:GetCurrentTime()-m_BorrowRset.m_BACK_DATE);m_BorrowRset.MoveNext();m_money=time.GetDays()*m_setmoney;m_BorrowBookID.SetCurSel(0);UpdateData(FALSE);
42、m_BorrowRset.Close();丟失書(shū)籍界面的設(shè)計(jì):圖3-14書(shū)籍丟失界面設(shè)計(jì)丟失書(shū)籍編程的實(shí)現(xiàn):流程圖如下:圖3-15丟失書(shū)籍流程圖主要代碼如下:BOOL CLostIfom:OnInitDialog() CDialog:OnInitDialog();m_List.InsertColumn(0,"讀者ID",LVCFMT_LEFT,100);m_List.InsertColumn(1,"圖書(shū)ID",LVCFMT_LEFT,100);m_List.InsertColumn(2,"借書(shū)日期",LVCFMT_LEFT,100);
43、m_List.InsertColumn(3,"應(yīng)還日期",LVCFMT_LEFT,100);m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);m_List.SetBkColor(RGB(244,200,222);m_List.SetTextBkColor(RGB(244,200,222);m_List.SetTextColor(RGB(0,00,60);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property
44、Pages should return FALSEvoid CLostIfom:OnKillfocusEdit1() / TODO: Add your control notification handler code herem_List.DeleteAllItems();UpdateData();if(!BorrowBook.Open(AFX_DB_USE_DEFAULT_TYPE,"select *from BORROW where RID='"+m_ID+"'")AfxMessageBox("數(shù)據(jù)庫(kù)打開(kāi)失??!"
45、);return;else if(BorrowBook.IsEOF()AfxMessageBox("找不到讀者ID的借書(shū),請(qǐng)確認(rèn)讀者信息");BorrowBook.Close();return ;elseint i=0;CString str;while(!BorrowBook.IsEOF()BorrowBook.m_BID.TrimRight();m_List.InsertItem(i,BorrowBook.m_BID);BorrowBook.m_RID.TrimRight();m_List.SetItemText(i,1,BorrowBook.m_RID);str=Bo
46、rrowBook.m_BORROW_DATE.Format("%Y-%m-%d");m_List.SetItemText(i,2,str);str=BorrowBook.m_BACK_DATE.Format("%Y-%m-%d");m_List.SetItemText(i,3,str);BorrowBook.MoveNext();BorrowBook.Close();void CLostIfom:OnOK() / TODO: Add your control notification handler code hereUpdateData();int i
47、=m_List.GetSelectionMark();if(i<0)AfxMessageBox("請(qǐng)選擇要登記的圖書(shū)");return;elseif(!BorrowBook.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from BORROW where RID='"+m_ID+"'")AfxMessageBox("數(shù)據(jù)庫(kù)打開(kāi)失??!");return ;CTimeSpan time=CTime:GetCurrentTime()-BorrowBook.m_BACK
48、_DATE;if(time.GetDays()<0)AfxMessageBox("借書(shū)超期,請(qǐng)先繳費(fèi)!");BorrowBook.Close();return ;CString BID=BorrowBook.m_BID;BID.TrimRight();if(!Book.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from Book where BID='"+BID+"'")AfxMessageBox("數(shù)據(jù)表打開(kāi)失敗");Book.Edit();Book.m_
49、BFlag_Borrow="已丟失"Book.Update();BorrowBook.Delete();BorrowBook.Requery();Book.Close();BorrowBook.Close();m_List.DeleteItem(i);m_List.SetRedraw(TRUE);3.2系統(tǒng)管理子模塊的實(shí)現(xiàn)管理員可以同過(guò)本系統(tǒng)對(duì)書(shū)籍進(jìn)行管理:主要包括書(shū)籍的添加,刪除,修改,查詢(xún),顯示全部書(shū)籍這些操作;亦可以管理借閱者信息,主要包括借閱者的刪除,添加操作;也可以管理管理員信息,主要包括借閱者的刪除,添加操作;同時(shí)也可以管理書(shū)籍類(lèi)別信息,主要包括借閱者的刪除,添
50、加操作;3.2.1書(shū)籍信息管理子模塊的實(shí)現(xiàn) 管理員可以同過(guò)本系統(tǒng)對(duì)書(shū)籍進(jìn)行管理:主要包括書(shū)籍的添加,刪除,修改,查詢(xún),顯示全部書(shū)籍這些操作。書(shū)籍信息管理子模塊的界面設(shè)計(jì):圖3-16書(shū)籍信息管理界面書(shū)籍信息管理子模塊的編程實(shí)現(xiàn):流程圖如下:圖3-17書(shū)籍信息管理流程圖主要代碼如下:HBRUSH CBookSelectDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of th
51、e DC here/ TODO: Return a different brush if the default is not desiredreturn hbr;void CBookSelectDlg:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereint i=m_List.GetSelectionMark();if(i<0)ClearText();return;CString str;m_FNO=m_List.GetItemText
52、(i,0);m_NAME=m_List.GetItemText(i,1);m_AUTHOR=m_List.GetItemText(i,2);m_PRESS=m_List.GetItemText(i,3);int j=m_TYPE.FindString(-1,m_List.GetItemText(i,4);m_TYPE.SetCurSel(j);str.Format(_T("select * from BOOK where BID='%s'"),m_List.GetItemText(i,0);if(!m_BookRset.Open(AFX_DB_USE_DEF
53、AULT_TYPE,str)AfxMessageBox("數(shù)據(jù)表BOOK打開(kāi)失敗");return;m_Time.SetTime(&m_BookRset.m_BRress_date);str=m_List.GetItemText(i,6);double tempf=atof(str);m_PRICE=(float)tempf;str=m_List.GetItemText(i,7);m_DAYS=atoi(str);m_STATE=m_List.GetItemText(i,8);m_DESC=m_List.GetItemText(i,9);UpdateData(FALSE);m_BookRset.Close();*pResult = 0;void CBookSelectDlg:ClearText()m_FNO = _T("");m_AUTHOR = _T("");m_PRESS = _T("");m_DESC = _T("");m_NAME = _T("");m_PRICE = 0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承攬房屋裝修工程合同
- 房地產(chǎn)轉(zhuǎn)讓合同集錦
- 兼職勞務(wù)合同
- 人力資源服務(wù)合同
- 德漢翻譯服務(wù)合同
- 節(jié)能設(shè)備購(gòu)銷(xiāo)合同協(xié)議
- 禽蛋類(lèi)采購(gòu)合同
- 物業(yè)管理市場(chǎng)分析與競(jìng)爭(zhēng)策略
- 爆破工程技術(shù)服務(wù)合同
- 軟件銷(xiāo)售代理合作合同
- 全國(guó)大學(xué)生英語(yǔ)競(jìng)賽詞匯大綱
- 情緒障礙跨診斷治療的統(tǒng)一方案
- 聚焦幼兒作品分析的游戲觀(guān)察與評(píng)價(jià)
- 胸外科手術(shù)圍手術(shù)期處理
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 配網(wǎng)設(shè)備缺陷分類(lèi)及管理重點(diǎn)標(biāo)準(zhǔn)
- 反腐倡廉廉潔行醫(yī)
- UI與交互設(shè)計(jì)人機(jī)交互設(shè)計(jì)(第二版)PPT完整全套教學(xué)課件
- 《插畫(huà)設(shè)計(jì)》課程標(biāo)準(zhǔn)
- 高考作文答題卡(作文)
- 在鄉(xiāng)村治理中深化推廣運(yùn)用清單制、積分制、一張圖工作方案
評(píng)論
0/150
提交評(píng)論