圖書館信息管理系統(tǒng)_第1頁
圖書館信息管理系統(tǒng)_第2頁
圖書館信息管理系統(tǒng)_第3頁
圖書館信息管理系統(tǒng)_第4頁
圖書館信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

年4月19日圖書館信息管理系統(tǒng)文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。圖書館信息管理系統(tǒng)數(shù)據(jù)庫的概念數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表示信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機的數(shù)據(jù)庫能夠分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,象記錄、域等。新建一個數(shù)據(jù)庫創(chuàng)立任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)立一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計。(1)標(biāo)識需要的數(shù)據(jù);(2)收集被標(biāo)識的字段到表中;(3)標(biāo)識主關(guān)鍵字字段;(4)繪制一個簡單的數(shù)據(jù)圖表;(5)規(guī)范數(shù)據(jù);(6)標(biāo)識指定字段的信息;(7)創(chuàng)立物理表。創(chuàng)立數(shù)據(jù)庫參照VF自帶的數(shù)據(jù)庫,能夠很方便地創(chuàng)立了本系統(tǒng)將要使用的本地數(shù)據(jù)庫。館館長采編組書庫閱覽室工具書室目錄廳借閱室表的說明如下:Book_recno.dbf

借書登記表

Book_table.dbf

圖書資料表B_table.dbf

讀者類別查詢中間表

Group_table.dbf

圖書類別查詢中間表Pass_word.dbf管理員ID密碼表User_table.dbf

讀者資料表

表結(jié)構(gòu)介紹:

Book_recno.dbf

借書登記表字段名稱字段類型字段說明TSBHC(10)圖書編號TXMC(10)條形碼SMC(20)書名BHC(10)編號XMC(10)姓名JSBZC(4)借書標(biāo)志JSSJD(8)借書日期Book_table.dbf

圖書資料表字段名稱字段類型字段說明TSBHC(10)圖書編號TXMC(10)條形碼SMC(20)書名ZZC(20)作者CBSC(40)出版社CBSJD(8)出版時間LBC(20)類別XCSLN(3)現(xiàn)存數(shù)量TSZSN(3)圖書總數(shù)RGSJD(8)入館時間TSJGN(8,2)價格ZCCSN(5)借出次數(shù)JSQXN(2)借書時限B_table.dbf

讀者類別查詢中間表

字段名稱字段類型字段說明CHINA_LBC(10)中間字段LBC(15)中間字段Group_table.dbf

圖書類別查詢中間表字段名稱字段類型字段說明CHINA_LBC(10)中間字段LBC(15)中間字段

Pass_word.dbf管理員ID密碼表字段名稱字段類型字段說明GLY_IDC(10)管理員IDMMC(10)管理員密碼GLY_NAMEC(10)管理員姓名

User_table.dbf

讀者資料表字段名稱字段類型字段說明BHC(10)編號XMC(10)姓名XBC(2)性別YXMCC(20)院系名稱ZZC(40)住址YJTSN(4)已借天數(shù)BZC(20)備注LBC(10)職業(yè)DJRQD(8)登記日期JSRQD(8)借書日期HSRQD(8)還書日期系統(tǒng)的具體實現(xiàn)程序菜單功能介紹:借書根據(jù)您提供的圖書條形碼和圖書編號確認(rèn)圖書,再根據(jù)學(xué)生的編號確認(rèn)學(xué)生后把此書借給這位學(xué)生。還書根據(jù)您提供的圖書條形碼和圖書編號確認(rèn)圖書,再根據(jù)學(xué)生的編號確認(rèn)學(xué)生后把此書歸還。圖書館信息管理對所有圖書的資料進行添加,修改和刪除等操作。讀者管理對所有讀者的資料進行添加,修改和刪除等操作。查詢所有圖書、不在館圖書,今天借出圖書、今日歸還圖書、今日新進圖書和有條件查詢。統(tǒng)計圖書基礎(chǔ)狀況統(tǒng)計排名。管理員在這里修改管理員的登錄密碼。系統(tǒng)程序構(gòu)成:圖書館信息管理系統(tǒng)的所有模塊都包括在一個項目中,這個項目我們命名為Tsgl.pjx,項目由數(shù)據(jù)、文檔、類庫、代碼、其它五部分組成。其中數(shù)據(jù)又分為數(shù)據(jù)庫和自由表;文檔分為表單、報表和標(biāo)簽;代碼分為程序、API、01/10應(yīng)用程序;其它分為菜單文件、文本文件、其它文件。系統(tǒng)構(gòu)成圖表如下圖:項目的各部分完成系統(tǒng)的不同任務(wù),但從總體上講,可分成兩個方面分析,一個是數(shù)據(jù)源,為程序處理提供原始數(shù)據(jù);一個是程序模塊,是數(shù)據(jù)處理的方法和平臺。把這兩者有機的結(jié)合起來,就是一個完整的程序應(yīng)用系統(tǒng)。程序運行界面圖說明:系統(tǒng)登錄界面,只有輸入正確的ID和密碼才能進行圖書館信息管理系統(tǒng)。

說明:圖書館信息管理系統(tǒng)主界面。

說明:借書子程序操作界面。

說明:還書子程序操作界面。

說明:圖書館信息管理操作界面。提供圖書新增、修改、刪除等功能。

說明:讀者管理操作界面。提供讀者新增、修改、刪除等功能。說明:打印模塊具有打印圖書信息的功能說明:管理員密碼維護操作界面。系統(tǒng)登陸界面用戶名:1密碼:1如果出現(xiàn)打不開問題請先打開FoxPro程序選擇程序-運行-圖書館信息管理系統(tǒng).exe如遇到路徑不存在問題直接點擊忽略我已經(jīng)先設(shè)置了一個借書人編號12345王鑫圖書信息在任務(wù)窗口能夠選擇查詢附:程序清單程序功能介紹:**\\主控程序:main_tsgl.prgclearall從內(nèi)存中釋放所有的內(nèi)存變量和數(shù)組以及所有用戶自定義菜單欄、菜單和窗口的定義。_screen.visible=.f.主窗口VFP不可見setescapeoff禁止運行的程序和命令在按Esc鍵后被中斷。settalkoff

阻止對話結(jié)果傳送到VisualFoxPro主窗口、系統(tǒng)信息窗口setexcloff

(私有數(shù)據(jù)工作期的默認(rèn)方式)允許網(wǎng)絡(luò)上的任何用戶共享和修改網(wǎng)絡(luò)上打開的表setsafetyoff

指定在改寫已有文件時不顯示對話框。setdeleon

使用范圍子句處理記錄(包括在相關(guān)表中的記錄)的命令忽略標(biāo)有刪除標(biāo)記的記錄setcenturyon

指定在包含10個字符(包括日期分隔符)的日期格式中,用四位數(shù)字表示年。setdatetoYMD

決定日期在日期時間表示式中的格式:yy/mm/ddpublicM_js,M_hs,mypath,tsgl,demo[3]

定義變量、數(shù)組為公共變量M_js=.T.為變量賦值M_hs=.T.mypath=left(sys(16),rat("\",sys(16)))把當(dāng)前路徑賦給一個變量setdefato&mypath指定默認(rèn)的驅(qū)動器、目錄或文件夾***dimensiondemo[3]創(chuàng)立一維內(nèi)存變量數(shù)組

store'.F.'todemo[1]為數(shù)組賦值

store'.F.'todemo[2]

store'.F.'todemo[3]***傳遞ID、密碼變量sele1

激活指定工作區(qū)1,以下類似

usebook_table

打開一個表,以下類似sele2

usegroup_tablesele3

useb_tablesele4

useuser_tabledoformlogin_form

運行表單

readevents

當(dāng)發(fā)出READEVENTS命令時,VisualFoxPro啟動事件處理說明:

設(shè)置程序運行的環(huán)境參數(shù)、變量等。**\\密碼驗證表單:Login_form.scx

**\\控件:command1

**\\click事件代碼如下:selectgly_id,mm,gly_namefrompass_word;wheregly_id=allt(thisform.text1.value)and;mm=allt(thisform.text2.value)

intoarraydemo

ifdemo[1]='.F.'

=messagebox('登錄ID或密碼錯誤!',0+16+0,'提示')

信息提示窗口

thisform.text1.setfocus

控件text1獲得了焦點

*return.T.else

thisform.release從內(nèi)存中釋放表單集或表單

dologin_app運行程序endif代碼說明:SQL語句從密碼表“Pass_word.dbf中選出gly_id,mm,gly_name三個字段的記錄與所輸入的數(shù)據(jù)進行比較,如果相等。則把它們賦值到一個數(shù)組中,然后執(zhí)行下一步程序。否則數(shù)組為最初所賦的值“.F.”,程序返回到數(shù)據(jù)輸入狀態(tài),直到正確輸入或者退出。

**\\控件:command2

**\\click事件代碼如下:thisform.releaseclearevents

發(fā)出CLEAREVENTS命令停止事件處理代碼說明:釋放當(dāng)前表單,清除當(dāng)前事件。**\\聯(lián)接程序:main_tsgl.prgDOFORMtsgl.scxnametsgl&&窗口句柄傳遞DOMenu_tsgl.mprWITHtsgl,.t.,.t.

運行菜單代碼說明:運行圖書館信息管理主表單以后,再運行菜單組件。**\\圖書館信息管理主表單:Tsgl.scx

主要屬性:

AlwaysOnTop=.F.

其它窗口能夠覆蓋住表單窗口。

AutoCenter

=.T.指定表單對象第一次顯示于VisualFoxPro主窗口時,自動居中放置

ShowWindows=2

作為頂層表單

Caption=岳陽電信-圖書館信息管理系統(tǒng)

V1.0

表單標(biāo)題屬性說明:當(dāng)前表單優(yōu)先居前,自動居中,為頂層表單,表單標(biāo)題為“岳陽電信-圖書館信息管理系統(tǒng)

V1.0”

**\\Init事件代碼如下:bo1.listindex=1

表單上的頁中的組合框的屬性bo1.listindex=1代碼說明:控件“Combol”的數(shù)據(jù)源是“Group_Table.dbf”,Listindex=1,則當(dāng)前控件“Combol”中所顯示的數(shù)據(jù)為“圖書編號”。

**\\Resize事件代碼如下:mandgroup1.width=this.width-5thisform.pageframe1.width=this.width-5thisform.pageframe1.height=this.height-100thisform.pageframe1.page1.grid1.width=thisform.pageframe1.width-22thisform.pageframe1.page1.grid1.height=;

thisform.pageframe1.height-82thisform.pageframe1.page2.grid1.width=;thisform.pageframe1.width-22thisform.pageframe1.page2.grid1.height=;thisform.pageframe1.height-82thisform.pageframe1.refresh代碼說明:頁框“page1”和“page2”、表格控件“grid1”隨當(dāng)前表單大小的變化而變化。

**\\QueryUnload事件代碼如下:thisform.release從內(nèi)存中刪除內(nèi)存變量和數(shù)組。clearevents**\\借書子程序:Jies.scx

**\\控件:command1

**\\click事件代碼如下:sele1ifthisform.optiongroup1.option1.value=0

當(dāng)前單選框的值為0

locatefortxm=upper(allt(thisform.text2.value))

從表中查找輸入的條形碼

ifnotfound()

=messagebox('沒有該圖書的條形碼!',0+64+0,'提示')

gotop

指針定位到表頭

else

mand3.enabled=.T.

指定對象能夠響應(yīng)用戶引發(fā)的事件

endif

endif

ifthisform.optiongroup1.option1.value=1當(dāng)前單選框的值為1

locatefortsbh=upper(allt(thisform.text1.value))

ifnotfound()

=messagebox('沒有該圖書編號!',0+64+0,'提示')

gotop

else

mand3.enabled=.T.

endif

endif

thisform.refresh代碼說明:根據(jù)圖書的條形碼或圖書編號查詢所借書目。只有所借書目存在,才能對讀者信息進行操作。

**\\控件:command2

**\\click事件代碼如下:

thisform.text2.value=''賦文本框text2的值為空

thisform.text1.value=''

thisform.text1.setfocus

**\\控件:command3

**\\click事件代碼如下:sele4

locateforbh=upper(allt(thisform.text12.value))

ifnotfound()

=messagebox('沒有該讀者的編號!',0+64+0,'提示')

gotop

mand5.enabled=.T.thisform.refresh代碼說明:對借書讀者的資料進行確認(rèn)。

**\\控件:command5

**\\click事件代碼如下:nAnswer=MESSAGEBOX('確認(rèn)所借書目的資料無誤嗎?',4+32+0,'重要提示')DOCASE

CASEnAnswer=6

sele1

Ifxcsl=0

=messagebox('該圖書已經(jīng)沒有庫存!',0+64+0,'提示')

return.T.

Else

replacexcslwithxcsl-1,zccswithzccs+1

現(xiàn)存數(shù)量減1,借出數(shù)量加1

insertintobook_recno(tsbh,txm,sm,bh,xm,jssj,jsbz);

values(upper(allt(thisform.text7.value)),;

upper(allt(thisform.text4.value)),;

upper(allt(thisform.text3.value)),;

upper(allt(thisform.text13.value)),;

upper(allt(thisform.text14.value)),;

datetime(),'借出')

把當(dāng)前資料插入到表book_recno中

sele4

replaceyjsswithyjss+1

讀者資料表中的已借書數(shù)加1

Endif

CASEnAnswer=7

ENDCASE代碼說明:在確認(rèn)所輸入的圖書和讀者資料無誤后,程序開始對圖書資料表、讀者資料表、借書記錄表這三個表進行修改和錄入。MESSAGEBOX()對應(yīng)每個按鈕的返回值。返回值

按鈕1

確定2

取消3

放棄4

重試5

忽略6

是7

否**\\還書子程序:Jies.scx

**\\控件:command1

**\\click事件代碼如下:sele1ifthisform.optiongroup1.option1.value=0

locatefortxm=upper(allt(thisform.text2.value))

ifnotfound()

=messagebox('沒有該圖書的條形碼!',0+64+0,'提示')

gotop

endif

endif

ifthisform.optiongroup1.option1.value=1

locatefortsbh=upper(allt(thisform.text1.value))

ifnotfound()

=messagebox('沒有該圖書編號!',0+64+0,'提示')

gotop

endif

endif

mand3.enabled=.T.

thisform.refresh**\\控件:command3

**\\click事件代碼如下:

thisform.text13.visible=.T.

顯示當(dāng)前文本框text13sele4

locateforbh=upper(allt(thisform.text12.value))

ifnotfound()

=messagebox('輸入的讀者編號有錯吧?',0+32+0,'提示')

gotop

else

thisform.refresh

mand5.enabled=.T.

endif**\\控件:command5

**\\click事件代碼如下:sele1

replacexcslwithxcsl+1

現(xiàn)存數(shù)量加1

insertintobook_recno(tsbh,txm,sm,bh,xm,jssj,jsbz);

values(upper(allt(thisform.text7.value)),;

upper(allt(thisform.text4.value)),;

upper(allt(thisform.text3.value)),;

upper(allt(thisform.text12.value)),;

upper(allt(thisform.text13.value)),;

datetime(),'還回')

thisform.refresh

=messagebox('操作完成,該書已經(jīng)歸檔!',0+64+0,'完成')

mand5.enabled=.F.

代碼說明:還書程序代碼和借書程序代碼比較相似,請看借書程序代碼說明。**\\控件:command7

**\\click事件代碼如下:M_hs=.T.thisform.release**\\圖書館信息管理子程序:Tsgl_tsgl.scx

**\\控件:command1

**\\click事件代碼如下:sele1ifthisform.optiongroup1.option1.value=0

locatefortxm=upper(allt(thisform.text2.value))

ifnotfound()

=messagebox('沒有該圖書的條形碼!',0+64+0,'提示')

gotop

endif

endif

ifthisform.optiongroup1.option1.value=1

locatefortsbh=upper(allt(thisform.text1.value))

ifnotfound()

=messagebox('沒有該圖書編號!',0+64+0,'提示')

gotop

endif

endif

thisform.refresh代碼說明:根據(jù)圖書的條形碼或圖書編號查詢圖書。而且能夠?qū)Ξ?dāng)前所選定的圖書進行修改。**\\控件:command3

**\\click事件代碼如下:sele4if.not.bof()

如果不到表頭

skip-1指針上移一條記錄

mand1.setfocus

thisform.refresh

endif

代碼說明:當(dāng)前所查詢的圖書資料上翻一條。**\\控件:command4

**\\click事件代碼如下:sele4if.not.eof()

如果不到表尾

skip

指針下移一條記錄

mand2.setfocus

thisform.refresh

endif

代碼說明:當(dāng)前所查詢的圖書資料下翻一條。

**\\控件:command5

**\\click事件代碼如下:x=messagebox("真的刪除編號

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論