


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于VC+設(shè)計的圖書管理系統(tǒng)選 題 依 據(jù)Microsoft Visual C+提供了良好的集成開發(fā)環(huán)境,已成為軟件開發(fā)的主流平臺,這學(xué)期開了這門課程對以后的學(xué)習(xí)和工作都會有很大的幫助。在選擇 題目上,考慮到在學(xué)校中經(jīng)常接觸到圖書管理系統(tǒng),借書還書等,因此在設(shè)計 思路上比較明確。所以選擇圖書管理系統(tǒng)作為該課程設(shè)計的題目。開 發(fā) 思 路首先要選擇一個合適的數(shù)據(jù)庫,常用的有SQL Server、Oracle、Access等,圖書倉庫管理系統(tǒng)屬于比較小的數(shù)據(jù)庫,而且Access數(shù)據(jù)庫在計算機(jī)上的應(yīng)用比較普及,是開發(fā)小型數(shù)據(jù)庫系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中選擇Access數(shù)據(jù)庫。其次要實(shí)現(xiàn)以下
2、基本功能,圖書基本信息管理模塊,借書管理模塊,還書 管理模塊?;拘畔⒐芾戆ú樵儭⑻砑?、刪除圖書資料。在程序設(shè)計上因為 過程清晰所以不用設(shè)計到算法,按步驟分別實(shí)現(xiàn)即可。最后,開發(fā)思路是先學(xué)習(xí)MFC和Access相關(guān)的操作,把大致的框架建立起來再逐步實(shí)現(xiàn)以上功能。填表日期: 面向?qū)ο蟪绦蛟O(shè)計中期報告題目基于VC+設(shè)計的圖書管理系統(tǒng)工 作 進(jìn) 展通過前段時間對 MFC的學(xué)習(xí),圖書管理系統(tǒng)的框架已經(jīng)完成,主窗口已經(jīng) 能調(diào)用各個子窗口,如圖書資料維護(hù)、借書管理、還書管理。所需要的Access表也已經(jīng)添加到各個子窗口,如管理員的密碼表、圖書基本資料表、借書表等。 功能實(shí)現(xiàn)上已經(jīng)可以刪除圖書基本資料,但
3、是在插入新的數(shù)據(jù)時會有錯誤。另 夕卜,查詢功能還沒有實(shí)現(xiàn)。工 作 難 占八、1對VC6.0不熟悉導(dǎo)致了在書寫代碼時不規(guī)范。2.MFC的函數(shù)以前沒有接觸過,函數(shù)相互調(diào)用的次數(shù)頻繁,經(jīng)常出現(xiàn)寫錯位置的情況。3難點(diǎn)還是在對數(shù)據(jù)庫的操作上,尤其是插入數(shù)據(jù)時。因為Access數(shù)據(jù)庫的表后臺是通過指針維護(hù),在寫入新的數(shù)據(jù)資料時會出現(xiàn)一個失敗錯誤,根據(jù)網(wǎng)上搜 的資料來看是指針超出范圍,也使用函數(shù)去判斷指針是否指到表的開頭或者結(jié) 尾,但還是不行。目前正在逐步調(diào)試,看看指針具體指到那一塊。后 期 工 作1. 繼續(xù)學(xué)習(xí)C+,基礎(chǔ)知識熟練才能有更好的運(yùn)用2. 多了解MFC的機(jī)制,多查找資料學(xué)習(xí)標(biāo)準(zhǔn)的函數(shù)庫,才能增強(qiáng)
4、分析函數(shù)的能 力3. 對數(shù)據(jù)庫操作不熟悉是最大的困難,所以要多找找經(jīng)典代碼,參考經(jīng)典做法來 實(shí)現(xiàn)這個項目的設(shè)計。填表日期: 面向?qū)ο蟪绦蛟O(shè)計課程報告基于VC+設(shè)計的圖書管理系統(tǒng)一、選題背景Microsoft Visual C+提供了良好的集成開發(fā)環(huán)境,已成為軟件開發(fā)的主流 平臺,這學(xué)期開了這門課程對以后的學(xué)習(xí)和工作都會有很大的幫助。在學(xué)校中 遇到最多的系統(tǒng)就是圖書管理,所以選擇這個題目作為本次課程設(shè)計題目。而 且,本次設(shè)計的圖書管理系統(tǒng)采用了 Microsoft Access作為后臺數(shù)據(jù)庫,使系統(tǒng) 具有良好的操作性和可移植性。運(yùn)用數(shù)據(jù)庫后加深了對Visual Studio C+系統(tǒng)的理解和認(rèn)識
5、,而且對以后項目設(shè)計等都有很好的幫助。二、系統(tǒng)說明該程序?qū)崿F(xiàn)了圖書管理系統(tǒng)的全部功能。系統(tǒng)總共可以分成三大部分,第 一部分是登錄界面,管理員可以選擇更改密碼。登錄進(jìn)去后主界面分成三大模塊:圖書信息維護(hù)、借書管理和還書管理。在圖書信息維護(hù)這一模塊中管理員 可以選擇查詢、編輯、增加和刪除圖書信息。在借書管理模塊中是可以執(zhí)行查 詢和借書的管理。與此類似,還書模塊是實(shí)現(xiàn)查詢和還書的功能。需要說明的是該程序使用了 Microsoft Access數(shù)據(jù)庫,所以數(shù)據(jù)庫中建立了 五個表格,分別是管理員登錄帳號表、圖書基本信息表、學(xué)生信息表、借書表 和還書表。表格設(shè)計的所含的內(nèi)容如下圖所示:管理員登錄帳號字段名
6、稱數(shù)據(jù)類型卜 Account文本帳號Password文皋密碼學(xué)生信宜 =_字段名稱文據(jù)類酉StuID學(xué)生編號StuName學(xué)生姓名Length允許借書期限Press文本出版社PressDate文本出版日期_借書字段名稱數(shù)搖類型lEookID文玉圖書編號BookName文本圖書名字StuID文本學(xué)生編號StuName文皋學(xué)生名字BorrovDate文本借書日期Length文本允許借書期限字段名稱騷據(jù)類理StuID文本學(xué)生編號StuNane文本學(xué)生姓名BookID文本圖書編號BookRane文本圖書名稱ReturnDate文本還書日期BorrowDate文本借書日期Length文本允許借書期限每個
7、表格對應(yīng)的功能模塊清晰明了,比如在登錄時需要鏈接到管理員登錄 帳號表,查詢用戶輸入的密碼是否與后臺數(shù)據(jù)即表格中的內(nèi)容一致。該系統(tǒng)各功能模塊功能分明,可移植性強(qiáng)。當(dāng)然該系統(tǒng)也有很多不足之 處,很多細(xì)節(jié)方面考慮不周。實(shí)現(xiàn)環(huán)境:硬件要求:一般在 586以上的處理器、16MB以上內(nèi)存、 100MB以上的硬盤。軟件要求: Windows 95/98或 Windows NT3.51以上版本。開發(fā)工具:Microsoft Visual Studio C+ 6.0三、系統(tǒng)設(shè)計程序設(shè)計流程圖主要畫了四個,分別如下所示:第一個是總體系統(tǒng)的流程 圖,第二個是圖書基本信息維護(hù)、第三個是借書的流程圖、第四個是還書的流
8、程圖,分別如下面的框圖所示:> 登陸界面忘記密碼修改密碼登錄取消1r11V圖書信息 管理借書還書退出圖1圖書管理系統(tǒng)總體設(shè)計流程圖F面分別是上圖中的三個字模塊:圖書信息管理、借書和還書圖書信息管理主界面11FT1rF查詢編輯增加刪除退出用戶輸入N息錄是 否存在取消確定返回上一級 主菜單顯 示 之 前Y檢查是 否合法NY是否刪 除成功向數(shù)據(jù)庫中添加或修改提示信息顯示之前一條記錄顯示對應(yīng)的記錄圖3借書的程序設(shè)計流程圖圖4還書的程序設(shè)計流程圖四、系統(tǒng)實(shí)現(xiàn)下面根據(jù)運(yùn)行系統(tǒng)時分別選擇的主要功能說明并附上主要代碼,代碼是以 截圖的方式來保持程序的格式。4.1登錄界面 登錄界面如下圖所示,主要分成兩個
9、部分,上面一部分的功能是登錄系統(tǒng),下 面一部分幫助是修改密碼和聯(lián)系圖書系統(tǒng)的維護(hù)人員。用戶選擇登錄系統(tǒng)如果密碼或用戶名輸入錯誤有如下提示信息,如果輸入正確則直接進(jìn)入到圖書 管理系統(tǒng)主界面,如4.2小節(jié)所示。實(shí)現(xiàn)代碼如下:void CLoglnDlg:0n0k()/ TubO: Add your control notification handler code hereCAriminDatd nrecord;CString H_sql;UpdateData(TRUE);iF(m LoginHaneUsEviptyO| |r LoginPassword,lsEnpty()<firKMess
10、ageBoxC1用戶名和密碼均不能為空“);m_sql=''Select * From 管士里員豊錄帳號 where rtccouni:=" n sql-n sql*m LoginHame*;ri_sql=m_sql+"And Password=bi;n sql-n sql*LoglnPassNOtd+,'1"m recora.Open(ftFXDBUSEDEFAULT TVPE,m sql);iF(m_record.GetRecordCountt)=fl)< _ fifxMessageBoxf用戶名不存在或者密碼借誤?”);>
11、else<CMpDl|g Dialog;Dialog. DoMlDdal(); CLoglnDlg::0nCancel);用戶選擇幫助功能選擇忘記密碼按鈕,會給用戶一個聯(lián)系電話找系統(tǒng)維護(hù)人員來在后臺數(shù)據(jù)庫修 改。選擇修改密碼的界面如下所示,如果對密碼的合法性檢查通過之后,就會顯示 修改成功的提示信息。我把密碼從 admin更改為123。在數(shù)據(jù)庫中對應(yīng)表中的記錄如下圖:&管畦員登錄帳召Account kPassword tleiqiuyan123修改密碼合法性是檢查用戶名是否正確,舊密碼是否輸入正確,兩次新密碼輸 入是否一致。運(yùn)行截圖如下:圖書管醪鋌實(shí)現(xiàn)代碼如下:f請刪撇入的兩次新
12、溯是否一劉uoid CChAngePswDlq:OnOK() H FObO: Add extra ualidation here CAdminData m record;CString m_5ql;llpdateData(TRUE);if (m_Account -】占Empty 011 m OldPsu. lsEmpti/() | | m HewPsw. IsEmpty () | | n ConfNewPsw,IsEnpty()< _AfxMessageBoxC1用戶名和密碼均不能為空"J ;>elseiF(rt NewPsw. Compare (pi ConFNewPs
13、w) !=0)< - -ftfxMessageeoxC'1請核對輸入的兩次新密碼是否,”);elsem n m in msql="Select * From 管理員登錄帳號 where Account-1' sqi»ni_5qi+"';5ql=(i_sql+'"And Password="sqlBm_sql+" ,+in_01dPsw*,T'";record.Open(AFM_DB_USE_DEFAULT¥PE.n_sq丄);if(mrecord.GetRecordCf
14、lunt()=fl)<Af xMessageBox (“舊密碼錯誤或用戶名不存在?“);>else<m_record.Edit();n record.n Pa5sword=n NewPsw; m_recDrd.Update();AFxMessageBoxC喜您?修改密碼成功¥n請使用新密碼登錄外); CDialog::OnCancel();4.2圖書管理系統(tǒng)主界面圖書管理系統(tǒng)主界面如下所示: 每一個按鈕下添加對應(yīng)的函數(shù)調(diào)用對應(yīng)的子系統(tǒng),實(shí)現(xiàn)代碼如下: 圖書信息管理界面uvid CMyDlg;;OnBooklnFo()/ TODO: Add your control
15、notification handler code here CEtooklnfoDlg dialog;didloq.RoModal();>1void CHi/Dlg: :OnBorrov()</ IODO: Add taur control notification handler code here CEtarrowDlq dialoq;dialog.DoModal();void CNyDlg:0nReturn()</ TODD: Add yoiur control notification handler code hereCReturnDig dialog; dial
16、og.DoModal();>4.3圖書信息用戶選擇圖書信息進(jìn)入的界面如下,顯示的數(shù)據(jù)記錄是Access數(shù)據(jù)庫中的記錄。國書基本信息維巴圖書基本信息圖書名字|現(xiàn)1弋?dāng)?shù)宇信號處理圖書編號阿而T麗作者|何亠述目咸出版社|晴華大學(xué)出版社出版口期 阿喬圖書信息維護(hù)上一剝下一親I _歸_ II 18加I輪輯.刪除|一 |乩° |退出|默認(rèn)的圖書基本信息是灰色的,表示當(dāng)前是查看的狀態(tài)。這些是在程序初始化 中實(shí)現(xiàn)的,該子系統(tǒng)可以選擇增加、編輯、刪除、查詢。我在程序中定義了一 個變量m_Button可以取0、1、2、3等,0為初始狀態(tài),其余代表做出了以上四 個選擇。初始化的代碼如下:BOOL C
17、BooklnFoDlg: :OninltI>iaiog()<CDidlog:DnJnitDialogO :if (?m_Record,Open()"廠幵燈居庫對應(yīng)的表AFxMessageBox( 1圖書基本估息衰打開失畋?”);if (mRecnrd UsB0F()&& mRecord. IsE0F() )/空表,顯示刁丘<mBookNane =RBODklD =mftuthor =;n Press =; mPressDate =UpdateDatafFALSE);else<iftOecora UsBOF(J)/當(dāng)前指在文件的開始m_Recor
18、d.MoueHext();>if (m_RecftrdJsEOF()/當(dāng)前指在文件的最后n_RecordMdvePr eu();r Button=S;DlgButton();DlgUalueO; UpdateData(FALSE);return TRUE;>Digvalue這個函數(shù)在該系統(tǒng)中使用很多次,實(shí)現(xiàn)對編輯框?qū)?yīng)的變量賦值,以便下一步顯示,在后面的函數(shù)使用到該函數(shù)時就不再一一說明,其代碼如下:BDOL CBuuklnf uDlg; :DLgUdluff()ni_BookNarit?" m_HpcutJd - n_BaokNamt; n BookID= m Recar
19、ri,n BookID; m_ftuthor= m Records Author; m_Press" m_Recurd.m_Pre5S;n PressDate= m Record,m PressDdte; UpdateData(FALSE);return TRUE;類似的,DlgButton是去控制主界面上的按鈕是否選擇和編輯框是否可以編輯 的,這個函數(shù)在借書和還書這兩個子系統(tǒng)中也用到很多次,在介紹另外兩個子 系統(tǒng)時就不再贅述說明,DlgButton以初始化為代表,實(shí)現(xiàn)代碼如下:BOQL CBooklnfoDlg:DlgHutton()CWhd «pUnd;switch (
20、m Button)case 0: /pUhd = GetDlgJten(IDC BUTTON ConF); pU)d->EnableUindou(FALSE);pWhd = GetDlgJten(IDC BUTTON Cdncel); pUnd->EndbleUindou(FALSE);plid = GettlgIten(IDC BUTTON_Add);pVhd - >Emable Mndowf TRUE);plid = Get»lgIten(IDC BUTTON Edit); pund->EnableUindou(TRUE);pVJnd = GetDlgIt
21、em(IDC_BUTTON_Delete):p Un d->Emable Window(TRUE);pVJnd = GetDlgtem(IDC_BUTTON_Query); pl*id->EnableWindou(TRUEJ ;pVJhd = GetDlgItem(IDC BUTTON MouePre); pi*id->EnableWindDbf(TRUE);pUhd = GetDlgItem(IDC_BUTTON_MoueNext); plAid->EndbleWindOu(TRUE;plhid = GetDlgIteni(IDC_EDIT_BookNaiie); p
22、kfrid->EnableWindoif(FALSE) ;_pUnd = GetDlgteni(IDC_EDlT_Bool(ID); pWhd->EndbleWindou(FALSE):一pHhd = GetDlgIten(IDC_EDIT_Author);pUhd->EnableWindou(FAL5E):一pUhd = Get»lgll:eii(IDC_EDlT Press); pid->EnableUindow(FAL3E):一pUhd = GetDlgl teii(IDC_EDlT_HressDal:e); pWnd->EnableWindow(
23、FfiLSE) break;選擇上一條和下一條實(shí)現(xiàn)代碼如下,另外兩個子系統(tǒng)的上一條和下一條也是如此實(shí)現(xiàn)的void CBooklnfoDlg:OnBUTTOI*louePre()"TODD: Add your control notification handler cod? here iF(m Record.IsBOF()fifxMessageBax ("當(dāng)前已是第一條記錄t");elsem Record.MoueP'reu();;DlgUalueO;uuid CHooklnoDig:;OnBurTDMMoupNeKt()</ rODfl: Add
24、our control natification nandler codt nert if(m_Record.IsEOF(J)fifxMessageHox嚴(yán)當(dāng)前己是最后一條記錄捫); elsem_Hecord.MoueHext();DlqUalueO ;在此說明,因為查詢、編輯、增加都是在最后選擇確定時實(shí)現(xiàn)的,在這里就先 列出了這個公共的代碼實(shí)現(xiàn)如下,下面再介紹各部分功能時只附上選擇對應(yīng)按 鈕的函數(shù)。選擇確定時的代碼如下:void CBookInFoDly:0nBUTT0NConF()/ IODO: Add jour control notification handler code here
25、 cstring m strFiltK-"" ,m_sql;UpdatpData(IRUE);switch (mButton)<case 1:if ( CheckE mpty ( ) »TIUE)<n_Record.AddNew();m Record .m_BaokNdme"ri_BoakHarie;m_Record.m_BookD=m_BookD ; nuecftrd .n_ftuLhai*-n_fluthat* ; m_Record.m_Press=m Press ; m_Rec ord .m_Pe£5Date"n_P
26、t,essDate ;n_Record _llpdate();匸血Closet );"因為添加亮新記錄更新后目劭料序, "不肓齟示剛才添加的.囁#旨冋耐才添加的CString;_sql1=''Select * From 圖書基本信息 where BookID =" n_wq 1 m_書 ql1 *"*n*m_BookID+'' “; (i£Recora7flpen(fiFXDB USE DEFAULT TVPE,nisqL1);elseAFKMessageBDxCT増加記錄失敗汕); break;case 2 :
27、|if(CheckEnptp()=TRUE)<m_Record.Edit();UpdateData(FALSE);m_Recftrd .m_BookNanie=m_BoflkHaie;n Recordjr BookD=n BooktD ;n_Record.m_fiuthDr=m_ftuthor;n Record jr Press=ni Press ; m_Recora .m_PtjessDate=m_Pres5Date ;h Record.Update():elseAfxNessagpBoxC*輯記錄失敗卯J; break;case 5:iF(?n BookID, IsEnpt()&am
28、p;&(!(n BnokNane . IsEnpt()sql"Select * from 圖書基本信息 uhere BookID-11; sql=n sql+ BookID*;sql=m_sql*" AND BookNane11 ,+ii_BookHane+;Record.Clflsef);Record.Open(AFX_Da_USE_DEFAULl_TVPE,n_sql);iF(n Record,GetRecordCount()=BJAFKMessageBflxC 無此項記錄?,J;elseAfxNessageBoxC'圖書名字和圖書編號均不能為空時);
29、m Record.MouePrev();break;>DlgUaluef);n)_Button-B;/Zt話框恢復(fù)®默認(rèn)狀態(tài)DigBiittonQ;圖書信息查詢在選擇查詢后,此時用戶可以輸入圖書名字和圖書編號查詢。如果選擇取消則 回到之前顯示的圖書記錄,選擇確定后開始查詢。查詢到對應(yīng)的記錄后會顯示出來,否則顯示對應(yīng)的報錯信息。且可以再次選擇查詢或者增加、編輯等按 鈕。查詢界面和查詢成功時如下所示:查詢不到記錄時則顯示“無此記錄的”提示如下圖:!無此項記錄!查詢的代碼實(shí)現(xiàn)如下,m_Button值為5如前所述代表選擇的是查詢記錄:uoi-d CDaokEflFoDlg :QnBUt
30、TDNQupr ()</ TDl>0: Add aur contrHol natiicatiDn hantHtr code hp"n BookName= m EJooklD" " m fluthor= m Press-n PressDate- ;UpdattDatd(FALSE); n ButtonDlgButton();圖書信息編輯:此時用戶可以修改圖書的信息,若用戶選擇取消則顯示之前顯示的記錄界面, 選擇確定則執(zhí)行4.3中已經(jīng)說明的函數(shù)。用戶選擇編輯的實(shí)現(xiàn)代碼,m_Button值為2如前所述代表選擇的是編輯記錄:void CBnOklnFoDlg:
31、zDnBUTTDNEdltf)<m_Button-2;DlgButtonf);圖書信息增加選擇增加的界面如下所示,用戶輸入要增加的信息,若用戶選擇取消則顯示之 前顯示的記錄,選擇確定則執(zhí)行4.3中已經(jīng)說明的函數(shù)。在數(shù)據(jù)庫對應(yīng)的表中的新增的記錄為:二3圄節(jié)狂雇侏總Book ID-tBookName -Authoi"-Press-Pi*e ssDate -978711510762(Visual匚+-賣丄束蒔曲向麗錯人民郵電由版彳2010. 10978730205968-Visual匚課帀伍:燮良清華大學(xué)出版腎2002. 1978730208599;97873020907C+-程宇坦
32、計譚浩飆 面向?qū)︺y技術(shù)-廿玲:青華大學(xué)出皈彳 佶半大學(xué)由版#2004- 62013978730217565現(xiàn)代數(shù)宇信號匸何于述淸華大學(xué)出皈2009. 5testTestttsttesttest選擇增加按鈕的函數(shù)如下,如前一小節(jié)所述,m_Button為1代表新增void CBooklnfuDlg::0neUTT0NAdd()/ TODO: Add pour control notification handler code herein_Hutl:on=1;m DookNaiw ''''n_RookID =Author = ,l"in Press -n_
33、PrFS5Date UpdateDatj(FfiLSE);DlgButtonf);刪除記錄選擇刪除之后則直接刪除,顯示數(shù)據(jù)庫中剩余第一條記錄,實(shí)現(xiàn)代碼如下:uoid CBooklnfoDlg:OnBUTTOHDelete()</ T0D0: Add your control notification handler code here mrtecDrd.Delete();i?(m Record.IsE0F()&&fi Record ,IsB0F()<AFxMessageBox(-當(dāng)前表中已經(jīng)沒有數(shù)據(jù);naookHant n BooklD =n fluthdr ,n,
34、;mPress =n_Pr,essDat(? '''>else<AfxMessagpflOKf 刪除成功 f);mRecora.Close();m_RecDrd tDpen();if(n_Record切嚇"重殖詢,如果扌誑文件稅下移記如果扌誑文件結(jié)尾上移記> r»_Record ,HoueNeMt();else if (ni Record. lsE0F()n Record.MouePreu();>DlgUalueO; llpdateData(FALSE);4.4借書借書的主界面如下,默認(rèn)顯示的是對應(yīng)的借書表中的記錄:上一條和下
35、一條的實(shí)現(xiàn)比較簡單,與圖書信息維護(hù)中的類似,只是對應(yīng)表的指 向不一樣,所以這里就不再截圖。增加借書記錄有新的用戶借書時選擇借書,默認(rèn)的把借書日期顯示出來。如果選擇取消則顯 示之前顯示記錄界面,如果輸入圖書編號和學(xué)生編號并且選擇“確定”,這時 候需要去“圖書基本信息”和“學(xué)生信息”兩個表中去查看有沒有這本書或者學(xué)生存在沒有對應(yīng)的記錄時:Test學(xué)生紜號Test皆書日期空 圖書信息圖書塢號不存在!Z013/12/29圍書管翳統(tǒng)借書失敗!確走團(tuán)書編 學(xué)生梱惜書管理上Y|下一糸|查詢|即編 律|退出允許惜書期限輸入正確時的運(yùn)行結(jié)果如下所示:對應(yīng)的數(shù)據(jù)庫中的記錄為:_j倍書BookID”BookName
36、<StuID-StuNaaie-BorrowDate -Lengtht9787302035997C-程呼設(shè)計0Q1Leiaiuyan978730217565現(xiàn)代鼓字信號處理001現(xiàn)代數(shù)字信號E97873020907閒向?qū)ο蠹夹g(shù)與Vfsua: 001leiQiuyanl2013/12/2929787302065997O-桂宇設(shè)計002leiqiuyanE3查詢借書記錄這里圖書名稱和學(xué)生姓名不是必須輸入,查詢成功和失敗的運(yùn)行結(jié)果如下:理書編號而元勿9皿學(xué)生編號翻學(xué)生姓名聊日卑網(wǎng)麗嚇月船管U1 元此頂勰陣主在此說明因為借書管理的“查詢”和“借書”都是通過選擇“確定”實(shí)現(xiàn)對數(shù)據(jù)庫的操作,定義了一
37、個變量 m_Butt0*1, 2)來判斷選擇的“查詢”還是“借書”。實(shí)現(xiàn)代碼如下所示void CBorrowDlg:;OnBUTTONConf()</ IODO: Add your control notification handler code her?CString m strFliter*"":CString n sql=""llpdateData(TRUE);占ltch(n Button)case 1:if(CheckEmptytJ=-IRUE)/ 能為空値if(Filt»B()-TRUE)/A的圖書編號和學(xué)生編號要分別在表中存
38、在<mBorrouRec.AddNtu();mBorrouRec.m_BookID=n BookID ;m_BDrrDURtc .iTi_EionUNafneam_BaokHarit;m BorrouRec.m_StuID=i_StuD;m BorrowRec.m StuNaiia"ni StUName ;m eorrowRec .m_Length=ni Length ;m BorrouRFC .m Dorf onDat0"iii_BDrrDWDate;meorrowRec.Update(>sql='"Jsql""Selec
39、t » from 楷書 where RQphlD-" sql=in_sql+n_Book 10+;sql-FlZql*,F AHD_StuID- 1 F,ID+ ":BorrouRec.Close();BorrowRec,Open(fiFX_DB_USE_DEFAULT_TVPE,n_sql);elseAFxMessageBoxC'ffi書失敗,”);break;case 2:if(CheckEnpty()=TRUE)/不肓幼空值<n_sql=,M,;H_sql-"Select * from 借書 where BookID=":
40、n_sql=ni_sql+*n_Book ID*;m_sql=m sql+,' nND 3tuID='"+n StuID+""” ; m_BBrrflwRec.Close();n_BorrDwRec,flpen(AFX_DR_USE DEFfiULT_rYPE,n_sql); if(m_BflrrowRec.CetRecordCount()=0)<AfwUessageBaxi*1 無此項記錄,");break; default:;DlgValue();DlgButton();4.5還書主界面如下圖所示:增加還書記錄有新的用戶還書時選
41、擇還書,默認(rèn)的把借書日期顯示出來。如果選擇還書后又 選擇取消則顯示之前顯示記錄界面,如果輸入圖書編號和學(xué)生編號并且選擇“確定”,這時候需要去“借書”表中去查看有沒有這條借書記錄。還書成功 如下圖:在數(shù)據(jù)庫中對應(yīng)的記錄為:_J連站BookID973730205965497873020907BookNace*StuID*StuNaae 甲BorrowDate ReturnDate Length呼Vi sua 1 C一課理設(shè)計與5 001leiqiu>!anl2013/12/232013, 12/232面向?qū)ο笮犘g(shù)與門sual >001leiQiu5panl2013/1/292013/1
42、2/292如果輸入不正確時運(yùn)行結(jié)果如下所示:囲書基本信患亟書編號|nxa/3Dzuyur學(xué)生編號片廠惜書日期九許惜書期限個月迂書管理上住I 下祭I| 查詢| 還書|因書名稱學(xué)主姓名還書日朗ZU13/12jir9圖書管理袤統(tǒng)確走查詢還書記錄查詢成功時則顯示對應(yīng)的記錄,失敗顯示提示信息,運(yùn)行結(jié)果分別如下所示:與借書類似,查詢和借書都是通過選擇“確定”實(shí)現(xiàn)對數(shù)據(jù)庫的操作,定義了 一個變量 m_Button<1,2)來判斷選擇的“查詢”還是“借書”。實(shí)現(xiàn)代碼如 下所示:void CReturnDlg:zOnBUTTONConff)/ TODD: Add your control notification handler co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 模塊化廠房建設(shè)與安裝服務(wù)承包合同
- 拆房施工人員安全教育培訓(xùn)協(xié)議
- 四年期休閑度假村場地租賃合同范本
- 綠色建筑場地調(diào)研與節(jié)能環(huán)保合同
- 車輛銷售代理與傭金分成合同
- 音樂委托制作合同
- 2025年袋裝腹膜透析液項目提案報告
- 面向2025年工業(yè)互聯(lián)網(wǎng)平臺的漏洞掃描技術(shù)風(fēng)險管理報告
- 農(nóng)業(yè)溫室建設(shè)項目2025年市場潛力與投資前景研究報告
- 2025年房地產(chǎn)企業(yè)數(shù)字化營銷效果評價體系構(gòu)建與應(yīng)用報告
- 國民經(jīng)濟(jì)核算課程期末復(fù)習(xí)(按題型)(含答案)
- 部編版小學(xué)道德與法治三年級下冊期末質(zhì)量檢測試卷【含答案】5套
- 斷親協(xié)議書范本
- 五年級語文下冊第八單元【教材解讀】課件
- 籃球比賽計分表word版
- 手衛(wèi)生依從性差魚骨分析
- 外科圍手術(shù)期患者心理問題原因分析及護(hù)理干預(yù)
- 電荷耦合器件(CCD)介紹和工作原理
- JJF(閩) 1101-2020 在線式CCD圖像尺寸測量系統(tǒng)校準(zhǔn)規(guī)范
- 生產(chǎn)安全事故調(diào)查工作實(shí)務(wù)含直接經(jīng)濟(jì)損失計算方法和標(biāo)準(zhǔn)
- 四川省甘孜州2022年中考語文試題及參考答案
評論
0/150
提交評論