




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、用例圖:2.2功能需求:對于本系統(tǒng)需要實現(xiàn)以下基本功能。圖書管理員通過用戶登錄界面,輸入用戶名和密碼驗證后可進入程序進行管理操作。圖書管理圖書錄入:添加新增圖書的基本信息。圖書下架:將已下架圖書的數(shù)量歸零。.圖書查詢:輸入圖書名或圖書號可獲得當前圖書管該書的庫存量及該書的相關(guān)信息。讀者管理添加讀者信息:添加新增讀者的信息。讀者查詢及修改:輸入讀者姓名或借書卡號可獲得讀者的基本信息并可修改其信息。刪除讀者信息:輸入讀者姓名刪除讀者信息。借還書服務(wù)借書登記:先輸入借書卡號,檢查是否有未還圖書記錄和借書數(shù)量的檢查.若符合則添加借號,書號及借書時間等信息。借書記錄查詢及續(xù)簽:輸入借記卡號或書號可獲得其
2、相關(guān)信息并可辦理續(xù)簽手續(xù)。還書手續(xù)辦理:輸入借記卡號及書號,在借書記錄添加還書時間。借書超期超量處理:該功能在讀者還書時檢索讀者借書信息判斷是否超期,進行相應(yīng)的懲罰。2.3系統(tǒng)功能設(shè)計:通過對現(xiàn)行圖書館的業(yè)務(wù)進行調(diào)查,明確了圖書館工作由圖書管理、讀者管理、借書服務(wù)和還書服務(wù)4部分組成。該系統(tǒng)分個主要功能塊,如下圖所示。進入系統(tǒng)操作前,有用戶登錄和注冊功能,只有注冊過的用戶才能進行下屬操作,未注冊的用戶必須在獲得數(shù)據(jù)庫密碼的情況下方可進行用戶注冊,之后才能進去管理流程。() 圖書信息管理模塊主要實現(xiàn)對圖書基本信息的錄入、查詢修改、刪除操作。錄入圖書的圖書號、圖書名、作者、出版社、出版時間、現(xiàn)有量
3、等信息,以圖書編碼為唯一關(guān)鍵字。使用查詢功能查詢出需要修改刪除的記錄,然后進行修改刪除操作,修改時要保證圖書號的唯一性。圖書下架功能將下架圖書的基本信息刪除。() 讀者信息管理模塊實現(xiàn)讀者信息的錄入、查詢、修改和刪除操作。錄入讀者姓名、借書卡號、電話、單位、性別等信息,以借書卡號為唯一關(guān)鍵字。使用查詢功能查詢出需要修改刪除的記錄,然后進行修改刪除操作,修改時要保證借書卡號的唯一性。圖書卡的注銷是借書卡持有者將不再在此圖書館借閱書籍,其借書卡將不能繼續(xù)使用,而被注銷,從而刪除關(guān)于此讀者的全部信息。() 借還書信息管理模塊實現(xiàn)借書、還書的手續(xù)辦理、信息查詢、續(xù)簽及借書超期處理等操作。借書手續(xù)要先輸
4、入借書卡號,檢查是否有未還圖書記錄和借書數(shù)量的檢查.若符合則添加借書卡號,書號及借書時間等信息。借書記錄查詢及續(xù)簽:輸入借記卡號可獲得其相關(guān)信息并可辦理續(xù)簽手續(xù)。還書手續(xù):輸入借記卡號,刪除此借書記錄,并將還回的圖書記錄到未借出類別中。3、代碼設(shè)計:-錄入(圖書)CString strSql;CString dateTime=publishTime.Format(_T("%Y-%m-%d");strSql.Format("INSERT INTO Book_info(Book_id,Book_name,Writer,Publish,PublishTime,Intro
5、duction,Book_count) VALUES('%s','%s','%s','%s','%s','%s',%s)",book_id,book_name,writer,publish,dateTime,introduction,book_count);-查詢及修改(圖書)-圖書信息查詢CString sqlstr;sqlstr.Format("SELECT Card_id,Book_id,Lendtime,expectBacktime FROM Borrow_card WH
6、ERE Book_id='%s'",book_id_Bo);m_pRecordset.CreateInstance("ADODB.Recordset"); /為Recordset對象創(chuàng)建實例_bstr_t strCmd=(_bstr_t)sqlstr;m_pRecordset=m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);_variant_t vCard_id,vBook_id,vLendtime,vexpectBacktime;trywhile(!m_
7、pRecordset->adoEOF)vCard_id=m_pRecordset->GetCollect(_variant_t(long)0);vCard_id=m_pRecordset->GetCollect("Card_id");vBook_id=m_pRecordset->GetCollect("Book_id");vLendtime=m_pRecordset->GetCollect("Lendtime");vexpectBacktime=m_pRecordset->GetCollect(&q
8、uot;expectBacktime")CString strtemp;if(vCard_id.vt!=VT_NULL)strtemp+=" "strtemp+=(LPCTSTR)(_bstr_t)vCard_id;if(vBook_id.vt!=VT_NULL)strtemp+=" "strtemp+=(LPCTSTR)(_bstr_t)vBook_id;if(vLendtime.vt!=VT_NULL)strtemp+=" "strtemp+=(LPCTSTR)(_bstr_t)vLendtime;if(vexpectB
9、acktime.vt!=VT_NULL)strtemp+=" "strtemp+=(LPCTSTR)(_bstr_t)vexpectBacktime;list_Bo.AddString(strtemp);list_Bo.AddString("n");m_pRecordset->MoveNext();catch(_com_error &e)AfxMessageBox(e.Description();-圖書信息修改CString sqlstr;sqlstr.Format("UPDATE Borrow_card SET expectBa
10、cktime=expectBacktime+15 WHERE Book_id='%s'",book_id_X);_bstr_t strCmd=(_bstr_t)sqlstr;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);-刪除(圖書)CString sqlstr;if(!D_bookname.IsEmpty()sqlstr.Format("UPDATE Book_info SET Book_count=0 WHERE Book_name='%s'
11、",D_bookname);elsesqlstr.Format("UPDATE Book_info SET Book_count=0 WHERE Book_id='%s' ",D_bookid);_bstr_t strCmd=(_bstr_t)sqlstr;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);-續(xù)簽:CString sqlstr;sqlstr.Format("UPDATE Borrow_card SET expectBacktime=
12、expectBacktime+15 WHERE Book_id='%s'",book_id_X);_bstr_t strCmd=(_bstr_t)sqlstr;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);-還書手續(xù)辦理:tryCString strSql;CString dateTime;dateTime=back_time_B.Format(_T("%Y-%m-%d");strSql.Format("UPDATE Borrow_card S
13、ET Backtime='%s' WHERE Book_id='%s' AND Card_id='%s'",dateTime,book_id_B,card_id_B);_bstr_t strCmd=(_bstr_t)strSql;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);catch(_com_error &e)AfxMessageBox(e.Description(); tryCString sqlstr;sqlstr.Forma
14、t("UPDATE Book_info SET Book_count=Book_count+1 WHERE Book_id='%s'",book_id_B);_bstr_t strCmd=(_bstr_t)sqlstr;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);catch(_com_error &e)AfxMessageBox(e.Description(); /圖書超期檢測trym_pRecordset.CreateInstance("AD
15、ODB.Recordset"); /為Recordset對象創(chuàng)建實例COleDateTime now;now=COleDateTime:GetCurrentTime();CString sqlStr;sqlStr.Format("SELECT * FROM Borrow_card WHERE Card_id='%s' AND Book_id='%s' AND Backtime is NOT NULL AND expectBacktime<Backtime",card_id_B,book_id_B);_bstr_t strCmd
16、=(_bstr_t)sqlStr;m_pRecordset=m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText); catch(_com_error &e)AfxMessageBox(e.Description();/圖書超期處理tryint days(0),tempDays(0);COleDateTime backDay,expectBackday;COleDateTimeSpan timeSpan;_variant_t vBackDays,vExpectBackDays;while(!m_pRe
17、cordset->adoEOF)vBackDays=m_pRecordset->GetCollect(_variant_t(long)3);vExpectBackDays=m_pRecordset->GetCollect(_variant_t(long)4);backDay.ParseDateTime(LPCTSTR)(_bstr_t)vBackDays);expectBackday.ParseDateTime(LPCTSTR)(_bstr_t)vExpectBackDays);timeSpan=expectBackday-backDay;tempDays=timeSpan.
18、GetDays();CString mesStr; float tempYuan=tempDays*0.1;mesStr.Format("借書卡號:%s,借書:%s,超期%d天應(yīng)繳罰款%.2f元",card_id_B,book_id_B,tempDays,tempYuan);AfxMessageBox(mesStr);days+=tempDays;m_pRecordset->MoveNext();catch(_com_error &e)AfxMessageBox(e.Description(); /還書后刪除借書記錄tryCString strSql;CStr
19、ing dateTime;dateTime=back_time_B.Format(_T("%Y-%m-%d");strSql.Format("DELETE FROM Borrow_card WHERE Book_id='%s'AND Card_id='%s'",book_id_B,card_id_B);_bstr_t strCmd=(_bstr_t)strSql;m_pConnection->Execute(strCmd,&RecordsAffected,ADODB:adCmdText);catch(_com
20、_error &e)AfxMessageBox(e.Description();4、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計借書記錄查詢及續(xù)簽根據(jù)上面的設(shè)計規(guī)劃出的實體有:圖書實體、讀者實體、借還書實體。它們之間的關(guān)系如下圖。 借出時間 圖書名 借書卡號 圖書號 作者 姓名 性別圖書 借還書 讀者 單位 現(xiàn)有量 出版時間 電話號碼 內(nèi)容簡介 出版社 歸還時間5、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。在上面的實體及實體之間的基礎(chǔ)上,形成數(shù)據(jù)庫中的表及各個表之間的關(guān)系。圖書管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計如下面幾
21、個表所示。每個表表示數(shù)據(jù)庫中的一個數(shù)據(jù)表。圖書信息表(Book_info)KEY序號字段號字段含義字段類型字段長度小數(shù)位允許空1Book_id書號Varchar14NOT NULL2Book_name書名Varchar30NOT NULL3Writer作者Varchar20NULL4Publish出版社Varchar20NULL5PublishTime出版時間DatetimeNULL6Introduction內(nèi)容簡介TEXT500NULL7Book_count圖書數(shù)量INTEGERNOT NULL借書卡信息表(Reader_info)KEY序號字段號字段含義字段類型字段長度小數(shù)位允許空1Car
22、d_id借書卡號Varchar8NOT NULL2Name姓名Varchar30NULL3Sex性別Varchar2NULL4Unit單位Varchar20NULL5Email電子郵件Varchar20NULL6Phone電話Varchar15NULL借書登記卡信息(BorrowCard_info)序號字段號字段含義字段類型字段長度小數(shù)位允許空1Card_id借書卡號Varchar8NOT NULL2Book_id書號Varchar14NOT NULL3Lendtime借出時間DatetimeNULL4Backtime歸還時間DatetimeNULL5Expect_BackTime預(yù)期歸還時間
23、DatetimeNOT NULL6、數(shù)據(jù)庫及基本表結(jié)構(gòu)定義-圖書信息表CREATE TABLE Book_info(Book_id Varchar(14) PRIMARY KEY,Book_name Varchar(30) NOT NULL,Writer Varchar(20),Publish Varchar(20),PublishTime DATETIME,Introduction TEXT,Book_count INTEGER NOT NULL) -讀者信息表CREATE TABLE Reader_info (Card_id Varchar(8) PRIMARY KEY,Name VARC
24、HAR(8) NOT NULL,Writer Varchar(8),Sex VARCHAR(2) ,Unit VARCHAR(20),Email VARCHAR(64),Phone VARCHAR(20)-借書信息表CREATE TABLE Borrow_card (Card_id VARCHAR(8) NOT NULL,Book_id VARCHAR(14) NOT NULL,Lendtime DATETIME,expectBacktime DATETIME,Backtime DATETIME,PRIMARY KEY(Book_id,Card_id), FOREIGN KEY(Book_id
25、) REFERENCES Book_info(Book_id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY(Card_id) REFERENCES Reader_info(Card_id) ON DELETE CASCADE ON UPDATE CASCADE) 7、系統(tǒng)總體設(shè)計在編寫這個程序的時候,我們使用了OFFICE辦公軟件中的重要組件access創(chuàng)建數(shù)據(jù)庫,visual studio2005的環(huán)境中編寫了這個程序。在為期10天的數(shù)據(jù)庫課程設(shè)計中,我們先對整個程序做了主題構(gòu)思,確立各個模塊,逐一完成他們,從而完成整個程序。圖書管理員可以實現(xiàn)圖書錄入、查詢、下架,借書記錄添加、查詢、修改以及還書等操作。完成主體構(gòu)思以后我們正式開始制作這個程序。我們把數(shù)據(jù)庫命名為BOOK(即圖書管理系統(tǒng)),制作了三張數(shù)據(jù)表,在制作界面的時候我們盡量考慮到界面美觀,在這方面基本沒有遇到問題,然而在書寫代碼的時候卻出現(xiàn)了很多的問題。8、總結(jié)軟件特點:使用時用戶必須先登錄才可進行操作,未注冊的用戶必須先注冊。操作時用戶通過對話框按鍵來完成所需求的功能遇到問題:1)數(shù)據(jù)庫創(chuàng)建好圖書信息表,讀者信息表及借書信息表后,在程序中添加創(chuàng)用戶表時,數(shù)據(jù)庫中不會創(chuàng)建這個表。2)創(chuàng)建了用戶表后在對其進行修改和添加時,總是提示語法錯誤。 解決方法:
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年父母分家協(xié)議書模板
- 一年級下冊數(shù)學(xué)教案- 2024-2025學(xué)年“100以內(nèi)數(shù)的認識”青島版五四學(xué)制
- 一年級下冊數(shù)學(xué)教案-第一單元有趣的數(shù)西師大版
- 六年級下冊數(shù)學(xué)教案-1.5已知比一個數(shù)多(少)百分之幾的數(shù)是多少求這個數(shù) -青島版
- 2025年黑龍江農(nóng)業(yè)經(jīng)濟職業(yè)學(xué)院單招職業(yè)傾向性測試題庫完整
- 2025屆黑龍江佳木斯一中高三上學(xué)期五調(diào)生物試題及答案
- 2025年度工程咨詢中間人傭金支付規(guī)范合同
- 2025年度公司股份協(xié)議書:股權(quán)激勵與業(yè)績考核
- 2025年度車輛牌照租賃與汽車后市場服務(wù)合同
- 2025年度人工智能教育培訓(xùn)合作協(xié)議書
- 男生青春期生理教育
- 現(xiàn)代漢語(黃伯榮、廖序東版)課件-第四章語法課件
- 統(tǒng)編版小學(xué)語文五年級下冊第四單元解讀與大單元設(shè)計思路
- 壓瘡護理質(zhì)控反饋
- 山東春季高考Photoshop考試復(fù)習(xí)題庫(含答案)
- 湖南省長沙市2023-2024學(xué)年八年級下學(xué)期入學(xué)考試英語試卷(附答案)
- 青海2024年01月青海省省直機關(guān)遴選公務(wù)員69人^2024年國家公務(wù)員考試考試大綱歷年真題筆試歷年高頻考點難、易錯點薈萃附答案帶詳解
- 一年級美術(shù)課后輔導(dǎo)教案-1
- 智慧社區(qū)建設(shè)中的智能化醫(yī)療與康養(yǎng)服務(wù)
- 2023-2024年人教版八年級上冊數(shù)學(xué)期末模擬試卷(含答案)
- 數(shù)據(jù)采集管理制度范文
評論
0/150
提交評論