




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、圖書館信息管理系統(tǒng)設(shè)計(jì) 一、系統(tǒng)功能描述圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng).數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本圖書管理系統(tǒng)的應(yīng)用對(duì)象定位在小型圖書館的應(yīng)用。根據(jù)要求本圖書管理系統(tǒng)主要針對(duì)圖書管理員進(jìn)行添加新書、執(zhí)行借書、還書、查看圖書的操作,另外進(jìn)入該系統(tǒng)的讀者只能查看當(dāng)前圖書館的藏書并能執(zhí)行查詢操作,讀者還可以通過該系統(tǒng)注冊(cè)成為會(huì)員。圖書管理系統(tǒng)用來管理圖書借還過程中的靜態(tài)和動(dòng)態(tài)信息。系統(tǒng)管理的信息主要包括圖書基本信息、圖書存儲(chǔ)信息、借書和還
2、書信息。系統(tǒng)的目的就是有效地處理這些信息,同時(shí)為圖書管理員提供信息檢索和信息統(tǒng)計(jì)功能。該圖書管理系統(tǒng)主要實(shí)現(xiàn)管理員操作和讀者操作。其中,管理員操作包括完成添加圖書、借書、還書、查詢圖書功能;讀者操作包括完成圖書查詢和讀者注冊(cè)功能。二、開發(fā)環(huán)境(VISUAL BASIC)的簡(jiǎn)介 VISUAL BASIC是微軟公司出品的一個(gè)快速可視化程序開發(fā)工具軟件。借助微軟在操作系統(tǒng)和辦公自動(dòng)化軟件的壟斷/地位,VB在短短的幾年內(nèi)風(fēng)靡全球。VB是極具特色和功能強(qiáng)大的軟件,主要表現(xiàn):所見即所得的界面設(shè)計(jì),基于對(duì)象的設(shè)計(jì)方法,極短的軟件開發(fā)周期,教易維護(hù)的代碼。同時(shí)眾多的ACTIVE控件,提高了軟件的使用效率。1
3、VB應(yīng)用程序語言的基本特點(diǎn):可視化界面設(shè)計(jì):VB為用戶提供大量的界面元素(在VB中稱為控件對(duì)象),這些控件對(duì)象如“窗體”,“菜單”,“命令按扭”,“工具按扭”,“檢查框”等等,用戶只要利用鼠標(biāo)、鍵盤把這些控件對(duì)象拖動(dòng)到合適的位置,設(shè)置其大小、形狀、屬性等,就可以設(shè)計(jì)出所需的應(yīng)用程序界面。2 事件驅(qū)動(dòng)編程在使用VB設(shè)計(jì)應(yīng)用程序是,必須首先確定應(yīng)用程序如何同用戶進(jìn)行交互。例如發(fā)生鼠標(biāo)單擊、鍵盤輸入等事件是,由用戶編寫代碼控制這些事件的響應(yīng),這就是所謂的事件驅(qū)動(dòng)編程。3 與數(shù)據(jù)庫(kù)的連接性 VISUAL BASIC提供了與底層數(shù)據(jù)庫(kù)系統(tǒng)緊密的連接。 VISUAL BASIC支持不同的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)
4、并充分發(fā)揮每一個(gè)數(shù)據(jù)庫(kù)的特長(zhǎng)。在開發(fā)該圖書館管理系統(tǒng)時(shí),VISUAL BASIC存取數(shù)據(jù)庫(kù)的方式有兩種:通過使用的ODBC接口。(ODBC(開放數(shù)據(jù)庫(kù)連接)是微軟公司的數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn))通過使用由VISUAL BASIC提供的專用的直接與數(shù)據(jù)庫(kù)相連的接口該系統(tǒng)程序是在應(yīng)用vb軟件程序的過程中,通過聲明和定義數(shù)據(jù)庫(kù)變量和記錄集變量將程序的實(shí)現(xiàn)與access數(shù)據(jù)庫(kù)連接起來。三、系統(tǒng)開發(fā)過程(一)建立數(shù)據(jù)庫(kù)Access數(shù)據(jù)庫(kù)中包括member、book、loan、admin(讀者表、圖書表、借閱信息表、管理員表)四個(gè)數(shù)據(jù)表,分別存放讀者信息、館藏圖書信息、讀者借閱信息、管理員信息。Admin(管理員表
5、)作為單獨(dú)的一個(gè)表,與其他三個(gè)表沒有直接聯(lián)系。book表中的isbn(圖書編號(hào))與loan(借書表)中的isbn(圖書編號(hào))具有一對(duì)多的關(guān)系,member(讀者表)中的nomber(借書證編號(hào))與loan表中的member(圖書證編號(hào))同樣具有一對(duì)多的關(guān)系。Loan表中另外添加了out_data和due_data兩個(gè)字段分別記錄讀者的借書時(shí)間和應(yīng)還時(shí)間。數(shù)據(jù)庫(kù)中表之間的聯(lián)系如下圖所示:(二)vb程序中連接數(shù)據(jù)庫(kù)在程序的設(shè)計(jì)過程中,直接通過vb語句連接數(shù)據(jù)庫(kù),并沒有使用控件連接。定義數(shù)據(jù)庫(kù)變量的語句如下:Dim db1 As DatabaseDim db2 As DatabaseDim db3
6、As Database定義數(shù)據(jù)記錄集變量Dim rst1 As RecordsetDim rst2 As RecordsetDim rst3 As Recordset設(shè)置連接數(shù)據(jù)庫(kù)并打開數(shù)據(jù)庫(kù)中相應(yīng)的記錄表語句:Set db1 = Workspaces(0).OpenDatabase(App.Path & databasedatabase.mdb, False)Set rst1 = db1.OpenRecordset(member, dbOpenTable)打開member表Set db2 = Workspaces(0).OpenDatabase(App.Path & databasedata
7、base.mdb, False)Set rst2 = db2.OpenRecordset(loan, dbOpenTable)打開loan表Set db3 = Workspaces(0).OpenDatabase(App.Path & databasedatabase.mdb, False)Set rst3 = db3.OpenRecordset(book, dbOpenTable)打開book表在連接數(shù)據(jù)庫(kù)中數(shù)據(jù)表的過程中,通過索引,以便以后在數(shù)據(jù)表中查找數(shù)據(jù)。設(shè)定索引語句:rst1.index = nomberrst2.index = isbnrst3.index = isbn(三)設(shè)定管
8、理員的操作:管理員進(jìn)入系統(tǒng)后,首先能夠看到當(dāng)前圖書館的存書情況以及借書情況,在該界面下進(jìn)行添加圖書、還書、借書和查詢操作。顯示當(dāng)前館藏圖書情況的代碼實(shí)現(xiàn)為:LV2.View = lvwReport LV2.ColumnHeaders.Add , , 圖書編號(hào) LV2.ColumnHeaders.Add , , 書名 LV2.ColumnHeaders.Add , , 作者 LV2.ColumnHeaders.Add , , 價(jià)格 LV2.ColumnHeaders.Add , , 數(shù)量 LV2.ColumnHeaders.Add , , 出版社LV2.ColumnHeaders.Add , ,
9、 出版日期 total = rst3.RecordCount LV2.ListItems.Clear rst3.MoveFirstFor i = 1 To total LV2.ListItems.Add i, , rst3.Fields(isbn) & vbNullString With LV2.ListItems(i) .SubItems(1) = rst3.Fields(bname) & vbNullString .SubItems(2) = rst3.Fields(author) & vbNullString .SubItems(3) = ¥ & rst3.Fields(price) .
10、SubItems(4) = rst3.Fields(total) & vbNullString .SubItems(5) = rst3.Fields(publish) & vbNullString .SubItems(6) = rst3.Fields(pdata) & vbNullString End Withrst3.MoveNextIf rst3.EOF Then Exit ForNext i借書情況的代碼實(shí)現(xiàn)同館藏圖書的代碼實(shí)現(xiàn)類似,在此不再重復(fù)給出。1 添加新書管理員點(diǎn)擊“添加新書”按鈕后,系統(tǒng)彈出添加新書的窗口添加圖書。將新添加的圖書記錄在數(shù)據(jù)庫(kù)中,新進(jìn)圖書可能圖書館中已有,也可能沒
11、有,系統(tǒng)要能分別處理。若新添加的圖書在圖書館中已有記錄,則在圖書表中將總數(shù)增加,通過以下語句實(shí)現(xiàn):rst.Editrst.Fields(total) = rst.Fields(total) + Val(total.Text)rst.Update如果圖書館中沒有相應(yīng)記錄,則在圖書表中增加一條記錄,寫入其相關(guān)信息。通過以下語句實(shí)現(xiàn):rst.Seek =, isbn.TextIf rst.NoMatch Thenrst.AddNewrst.Fields(isbn) = isbn.Textrst.Fields(bname) = b_name.Textrst.Fields(author) = autho
12、r.Textrst.Fields(price) = Val(price.Text)rst.Fields(total) = Val(total.Text)rst.Fields(publish) = publish.Textrst.Fields(pdata) = pdata.Textrst.Fields(class) = class.Textrst.Update2 查詢圖書管理員通過輸入圖書編號(hào)查詢相關(guān)圖書,管理員窗口圖書管理界面顯示所查詢圖書的詳細(xì)信息在程序?qū)崿F(xiàn)過程中,用BookId作為全局變量,存放圖書的編號(hào)信息,具體由以下語句實(shí)現(xiàn):rst.Seek =, BookIdtxtBookHao.T
13、ext = BookIdtxtBookName.Text = rst.Fields(bname) & vbNullStringtxtChuBan.Text = rst.Fields(publish) & vbNullStringtxtCost.Text = rst.Fields(price) & EmptytxtLentDate = rst.Fields(pdata) & vbNullStringtxtType.Text = rst.Fields(class) & vbNullStringauthor.Text = rst.Fields(author) & vbNullString3 還書操作
14、:管理員在實(shí)現(xiàn)還書操作的過程中,分別輸入所借圖書編號(hào)和借書證號(hào)進(jìn)行借書操作。在還書過程中涉及到對(duì)book表、loan表、member表的同時(shí)修改,首先在book表中對(duì)所還圖書的相應(yīng)圖書的數(shù)量(total字段)進(jìn)行加1操作,然后在member表中對(duì)應(yīng)借書證號(hào)的借書數(shù)量(total字段)進(jìn)行減1操作,最后將loan表中對(duì)應(yīng)的借書記錄刪除掉。刪除loan表中相應(yīng)記錄:rst.Delet修改book表中的記錄:rst2.Seek =, BookIdrst2.Editrst2.Fields(total) = rst2.Fields(total) + 1rst2.Update修改member表rst1.S
15、eek =, mAddEditIdrst1.Editrst1.Fields(total) = rst1.Fields(total) 1rst1.Update4 借書操作:工作人員通過此模塊來進(jìn)行借閱記錄的查詢。該模塊提供了包括讀者編號(hào)、圖書編號(hào)兩種查詢條件,管理員根據(jù)這個(gè)查詢條件來進(jìn)行查詢,既可以查詢出某本書。執(zhí)行結(jié)束操作過程中,管理員首先輸入借書證號(hào),查詢是否存在該借書證號(hào),若存在則顯示對(duì)應(yīng)的讀者信息,并執(zhí)行借書操作,否則彈出提示信息要求重新輸入正確的借書證號(hào)。借書過程中也涉及到對(duì)book表、member表、loan表的同時(shí)操作。在book表中相應(yīng)圖書的數(shù)量(total字段)減1,membe
16、r表中相應(yīng)讀者的借書量(total字段)加1,loan表中增加一條借書記錄。同時(shí)借書過程中系統(tǒng)自動(dòng)檢查該用戶借書是否已達(dá)到六本,若已達(dá)到六本則不允許繼續(xù)借書。正確輸入借書證后進(jìn)入借書窗口,系統(tǒng)通過查詢member表的相應(yīng)記錄,自動(dòng)顯示當(dāng)前讀者的詳細(xì)信息,同時(shí)顯示當(dāng)前圖書館的藏書情況。讀者所能進(jìn)行的操作只有根據(jù)相應(yīng)的圖書編號(hào)查看圖書,同時(shí)系統(tǒng)會(huì)將讀者查看的圖書的詳細(xì)信息顯示出來。具體代碼實(shí)現(xiàn)為:rst1.Seek =, mAddEditId顯示當(dāng)前讀者的信息nomber.Text = mAddEditIdtxtname.Text = rst1.Fields(name) & vbNullStrin
17、gtxtage.Text = rst1.Fields(age) & vbNullStringtxtphone.Text = rst1.Fields(telephone) & vbNullStringtxtaddress.Text = rst1.Fields(address) & vbNullStringtxtfa.Text = rst1.Fields(fa) & Empty查看相應(yīng)圖書編號(hào)圖書的詳細(xì)信息通過以下代碼實(shí)現(xiàn):Private Sub isbn_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then rst3.Seek =, isbn.Te
18、xt If rst3.NoMatch Then MsgBox 沒有此圖書編號(hào),請(qǐng)重新填寫, 0 + 48, 填寫錯(cuò)誤 isbn.SetFocus Frame4.Visible = False Exit Sub End If Frame4.Visible = True txtBookHao.Text = isbn.Text txtBookName.Text = rst3.Fields(bname) & vbNullString txtChuBan.Text = rst3.Fields(publish) & vbNullString txtCost.Text = rst3.Fields(price
19、) & Empty txtLentDate = rst3.Fields(pdata) & vbNullString txtType.Text = rst3.Fields(class) & vbNullString author.Text = rst3.Fields(author) & vbNullStringEnd IfEnd Sub單擊“借出圖書”按鈕后系統(tǒng)執(zhí)行借書操作。首先查看該圖書是否被全部借出,然后確定該讀者借書總數(shù)沒有超過六本,否則不允許借出。具體通過一下操作實(shí)現(xiàn)If rst3.Fields(total) = 6 Then MsgBox 該用戶借書已達(dá)到六本,不能再借!, 0 + 4
20、8, 提示 Exit SubEnd IfLoan表中添加一條記錄的代碼實(shí)現(xiàn):rst2.AddNewrst2.Fields(isbn) = txtBookHao.Textrst2.Fields(member) = nomber.Textrst2.Fields(uname) = txtname.Textrst2.Fields(bname) = txtBookName.Textrst2.Fields(price) = txtCost.Textrst2.Fields(publish) = txtChuBan.Textrst2.Fields(class) = txtType.Textrst2.Fields(author) = author.Textrst2.Update修改book表中的記錄:rst3.Seek =, BookId rst
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端私人飛機(jī)航線申請(qǐng)與全球旅行定制服務(wù)合同
- 房產(chǎn)處分權(quán)與抵押權(quán)解除及清償協(xié)議
- 外貿(mào)企業(yè)單證處理外包派遣及培訓(xùn)合同
- 跨國(guó)房地產(chǎn)投資運(yùn)營(yíng)管理合同
- 肺癌新輔助治療進(jìn)展與臨床實(shí)踐
- 災(zāi)害救援私人直升機(jī)航拍空域申請(qǐng)及影像記錄合同
- 建筑幕墻膠縫更換與節(jié)能效果評(píng)估協(xié)議
- 數(shù)據(jù)庫(kù)資源運(yùn)營(yíng)權(quán)授權(quán)與市場(chǎng)推廣合同
- 婦科手術(shù)護(hù)理操作規(guī)范
- Web前端開發(fā)技術(shù)項(xiàng)目教程(HTML5 CSS3 JavaScript)(微課版) 課件 5.1.13任務(wù)操作視頻
- 五年級(jí)數(shù)學(xué)競(jìng)賽試題原創(chuàng)
- 教師聽課評(píng)價(jià)記錄表
- 十字頭夾具設(shè)計(jì)說明書
- 物理高考最后一課課件
- 04S202 室內(nèi)消火栓安裝
- 電解質(zhì)紊亂的心電圖表現(xiàn)
- 2022年修改后的銀行業(yè)G32表填報(bào)說明
- 巨量-信息流(初級(jí))認(rèn)證考試(重點(diǎn))題庫(kù)(含答案)
- 三年級(jí)硬筆書法課課件
- 佳發(fā)教育考試網(wǎng)上巡查系統(tǒng)(標(biāo)準(zhǔn)版)
- 投融資部面試題本
評(píng)論
0/150
提交評(píng)論