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

下載本文檔

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

文檔簡介

1、圖書館信息管理系統(tǒng)數(shù)據(jù)庫的概念數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡而言之,數(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 標(biāo)準(zhǔn)數(shù)據(jù);6 標(biāo)識指定字段的信息;7 創(chuàng)建物理表。 創(chuàng)

2、建數(shù)據(jù)庫參照VF自帶的數(shù)據(jù)庫,可以很方便地創(chuàng)建了本系統(tǒng)將要使用的本地數(shù)據(jù)庫。系統(tǒng)的組織結(jié)構(gòu)圖如下:館 長采編組書庫閱覽室工具書室目錄廳借閱室 表的說明如下:Book_recno.dbf      借書登記表Book_table.dbf        圖書資料表B_table.dbf           讀者類別查詢中間表    Group_tabl

3、e.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.d

4、bf        圖書資料表字段名稱字段類型字段說明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           讀者類別查詢中間表  

5、;  字段名稱字段類型字段說明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      

6、0; 讀者資料表字段名稱字段類型字段說明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é)生后把此書歸還。圖書館信息管理-對所有圖書的資料進(jìn)行添加,修改和刪除等操作。讀者管理-對所有讀者的資料進(jìn)行添加,修改和刪除等操作。查詢-所有

7、圖書、不在館圖書,今天借出圖書、今日歸還圖書、今日新進(jìn)圖書和有條件查詢。統(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ù)處理的方法和平臺。把這兩者有機(jī)的結(jié)

8、合起來,就是一個完整的程序應(yīng)用系統(tǒng)。 程序運(yùn)行界面圖說明:系統(tǒng)登錄界面,只有輸入正確的ID和密碼才能進(jìn)行圖書館信息管理系統(tǒng)。 說明:圖書館信息管理系統(tǒng)主界面。 說明:借書子程序操作界面。 說明:還書子程序操作界面。 說明:圖書館信息管理操作界面。提供圖書新增、修改、刪除等功能。 說明:讀者管理操作界面。提供讀者新增、修改、刪除等功能。說明:打印模塊具有打印圖書信息的功能說明:管理員密碼維護(hù)操作界面。系統(tǒng)登陸界面用戶名:1密碼:1如果出現(xiàn)打不開問題 請先 打開FoxPro 程序選擇程序 -運(yùn)行-圖書館信息管理系統(tǒng).exe如遇到路徑不存在 問題 直

9、接點(diǎn)擊忽略我已經(jīng)先設(shè)置了一個借書人 編號12345 王鑫 圖書信息 在任務(wù)窗口 可以選擇查詢附:程序清單程序功能介紹:*-主控程序: main_tsgl.prgclear all 從內(nèi)存中釋放所有的內(nèi)存變量和數(shù)組以及所有用戶自定義菜單欄、菜單和窗口的定義。_screen.visible=.f.主窗口VFP不可見set escape off 禁止運(yùn)行的程序和命令在按 Esc 鍵后被中斷。set talk off           阻止對話結(jié)果傳送到 Visual FoxPro 主窗口、系統(tǒng)信息窗

10、口set excl off   私有數(shù)據(jù)工作期的默認(rèn)方式允許網(wǎng)絡(luò)上的任何用戶共享和修改網(wǎng)絡(luò)上打開的表set safety off         指定在改寫已有文件時不顯示對話框。set dele on    使用范圍子句處理記錄包括在相關(guān)表中的記錄的命令忽略標(biāo)有刪除標(biāo)記的記錄set century on  指定在包含 10 個字符包括日期分隔符的日期格式中,用四位數(shù)字表示年。set date to YMD    &

11、#160;   決定日期在日期時間表達(dá)式中的格式: yy/mm/ddpublic M_js,M_hs,mypath,tsgl,demo3   定義變量、數(shù)組為公共變量M_js= .T.為變量賦值M_hs= .T.mypath=left(sys(16),rat("",sys(16)把當(dāng)前路徑賦給一個變量set defa to &mypath指定默認(rèn)的驅(qū)動器、目錄或文件夾*-dimension demo3創(chuàng)建一維內(nèi)存變量數(shù)組     store '.F.' to demo1為

12、數(shù)組賦值     store '.F.' to demo2     store '.F.' to demo3*-傳遞ID、密碼變量-sele 1                   激活指定工作區(qū)1 ,以下類似 use book_table     

13、;     打開一個表,以下類似sele 2 use group_tablesele 3 use b_tablesele 4   use user_tabledo form login_form    運(yùn)行表單 read events          當(dāng)發(fā)出 READ EVENTS 命令時,Visual FoxPro 啟動事件處理說明:   設(shè)置程序運(yùn)行的環(huán)境參數(shù)、

14、變量等。*- 密碼驗證表單: Login_form.scx  *- 控件: command1  *- click事件代碼如下:select gly_id,mm,gly_name from pass_word ;where gly_id=allt(thisform.text1.value) and ;mm=allt(thisform.text2.value)  into array demo               

15、;  if demo1='.F.'   = messagebox('登錄ID或密碼錯誤!',0+16+0,'提示')   信息提示窗口  thisform.text1.setfocus     控件text1獲得了焦點(diǎn) * return .T.else     thisform.release從內(nèi)存中釋放表單集或表單 do login_app運(yùn)行程序endif 代碼說明:SQL語句從密碼表“Pass_word

16、.dbf中選出gly_id,mm,gly_name三個字段的記錄與所輸入的數(shù)據(jù)進(jìn)行比較,如果相等。則把它們賦值到一個數(shù)組中,然后執(zhí)行下一步程序。否則數(shù)組為最初所賦的值“.F.”,程序返回到數(shù)據(jù)輸入狀態(tài),直到正確輸入或者退出。  *- 控件: command2  *- click事件代碼如下:thisform.releaseclear events             發(fā)出 CLEAR EVENTS 命令停止事件處理代碼說明:釋放當(dāng)前表單,清除當(dāng)前事件。

17、*-聯(lián)接程序: main_tsgl.prgDO FORM tsgl.scx name tsgl &&窗口句柄傳遞DO Menu_tsgl.mpr WITH tsgl,.t.,.t.     運(yùn)行菜單代碼說明:運(yùn)行圖書館信息管理主表單以后,再運(yùn)行菜單組件。*-圖書館信息管理主表單:Tsgl.scx    主要屬性:     AlwaysOnTop = .F.    其他窗口可以覆蓋住表單窗口。     AutoC

18、enter  = .T.指定表單對象第一次顯示于 Visual FoxPro 主窗口時,自動居中放置     ShowWindows = 2    作為頂層表單     Caption = 岳陽電信-圖書館信息管理系統(tǒng)  V1.0   表單標(biāo)題屬性說明:當(dāng)前表單優(yōu)先居前,自動居中,為頂層表單,表單標(biāo)題為“岳陽電信-圖書館信息管理系統(tǒng)  V1.0”。   *- Init 事件代碼如下:thisform.pagefram

19、e1.page1 bo1.listindex=1   表單上的頁中的組合框的屬性thisform.pageframe1.page2 bo1.listindex=1代碼說明:控件“Combol”的數(shù)據(jù)源是“Group_Table.dbf”,Listindex1,則當(dāng)前控件“Combol”中所顯示的數(shù)據(jù)為“圖書編號”。   *- Resize 事件代碼如下:thisform mandgroup1.width = this.width-5thisform.pageframe1.width = this.width-5thisform.pageframe1.he

20、ight = 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.

21、height -82thisform.pageframe1.refresh代碼說明:頁框“page1”和“page2”、表格控件“grid1”隨當(dāng)前表單大小的變化而變化。   *- QueryUnload 事件代碼如下:thisform.release從內(nèi)存中刪除內(nèi)存變量和數(shù)組。clear events*-借書子程序:Jies.scx  *- 控件: command1    *- click事件代碼如下:sele 1if thisform.optiongroup1.option1.value=0  當(dāng)前單項選擇框的值為0 

22、locate for txm=upper(allt(thisform.text2.value)  從表中查找輸入的條形碼     if not found()          =messagebox('沒有該圖書的條形碼!',0+64+0,'提示')      go top   指針定位到表頭     else 

23、    thisform mand3.enabled=.T.     指定對象可以響應(yīng)用戶引發(fā)的事件     endif endif  if thisform.optiongroup1.option1.value=1 當(dāng)前單項選擇框的值為1  locate for tsbh=upper(allt(thisform.text1.value)   if not found()    

24、0; =messagebox('沒有該圖書編號!',0+64+0,'提示')      go top    else     thisform mand3.enabled=.T.   endif  endif        thisform.refresh代碼說明:根據(jù)圖書的條形碼或圖書編號查詢所借書目。只有所借書目存在,才能對讀者信息進(jìn)行操作。 

25、; *- 控件: command2    *- click事件代碼如下: thisform.text2.value=' '賦文本框text2的值為空 thisform.text1.value=' ' thisform.text1.setfocus  *- 控件: command3    *- click事件代碼如下:sele 4  locate for bh=upper(allt(thisform.text12.value)    &

26、#160; if not found()      =messagebox('沒有該讀者的編號!',0+64+0,'提示')      go top     endifthisform mand5.enabled=.T.thisform.refresh代碼說明:對借書讀者的資料進(jìn)行確認(rèn)。  *- 控件: command5    *- click事件代碼如下:nAnswer = MESSAGEBO

27、X('確認(rèn)所借書目的資料無誤嗎?',4+32+0,'重要提示')DO CASE   CASE nAnswer = 6       sele 1           If xcsl=0       =messagebox('該圖書已經(jīng)沒有庫存!',0+64+0,'提示')       &

28、#160; return .T.     Else          replace xcsl with xcsl-1 ,zccs with zccs+1    現(xiàn)存數(shù)量減1,借出數(shù)量加1      insert into book_recno (tsbh,txm,sm,bh,xm,jssj,jsbz) ;         values(

29、 upper(allt(thisform.text7.value), ;                 upper(allt(thisform.text4.value), ;                 upper(allt(thisform.text3.value), ; 

30、0;               upper(allt(thisform.text13.value),;                 upper(allt(thisform.text14.value),;     datetime(),'借出' ) 

31、   把當(dāng)前資料插入到表book_recno中       sele 4     replace yjss with yjss+1     讀者資料表中的已借書數(shù)加1     Endif                 CASE nAnswer = 7

32、0;  ENDCASE代碼說明:在確認(rèn)所輸入的圖書和讀者資料無誤后,程序開始對圖書資料表、讀者資料表、借書記錄表這三個表進(jìn)行修改和錄入。MESSAGEBOX( ) 對應(yīng)每個按鈕的返回值。返回值  按鈕1        確定2        取消3        放棄4        重試5    

33、  忽略6       是7        否*-還書子程序:Jies.scx  *- 控件: command1    *- click事件代碼如下:sele 1if thisform.optiongroup1.option1.value=0         locate for txm=upper(allt(thisform.text2.value)   

34、   if not found()      =messagebox('沒有該圖書的條形碼!',0+64+0,'提示')      go top     endif endif  if thisform.optiongroup1.option1.value=1   locate for tsbh=upper(allt(thisform.text1.value) &#

35、160; if not found()      =messagebox('沒有該圖書編號!',0+64+0,'提示')      go top   endif endif       thisform mand3.enabled=.T. thisform.refresh*- 控件: command3    *- click事件代碼如下:

36、0; thisform.text13.visible= .T.   顯示當(dāng)前文本框text13sele 4   locate for bh=upper(allt(thisform.text12.value)      if not found()        =messagebox('輸入的讀者編號有錯吧?',0+32+0,'提示')      

37、0; go top        else            thisform.refresh       thisform mand5.enabled=.T.     endif*- 控件: command5    *- click事件代碼如下:sele 1  replace xcsl with xcs

38、l+1      現(xiàn)存數(shù)量加1   insert into book_recno (tsbh,txm,sm,bh,xm,jssj,jsbz) ;         values( upper(allt(thisform.text7.value), ;                 upper(allt(thi

39、sform.text4.value), ;                 upper(allt(thisform.text3.value), ;                 upper(allt(thisform.text12.value),;    &

40、#160;            upper(allt(thisform.text13.value),;                 datetime(),'還回' )  thisform.refresh          

41、60;         =messagebox('操作完成,該書已經(jīng)歸檔!',0+64+0,'完成')   thisform mand5.enabled=.F.  代碼說明:還書程序代碼和借書程序代碼比較相似,請看借書程序代碼說明。*- 控件: command7    *- click事件代碼如下:M_hs= .T.thisform.release*-圖書館信息管理子程序:Tsgl_tsgl.scx  *- 控件: command1&

42、#160;   *- click事件代碼如下:sele 1if thisform.optiongroup1.option1.value=0         locate for txm=upper(allt(thisform.text2.value)      if not found()      =messagebox('沒有該圖書的條形碼!',0+64+0,'提示')  

43、;    go top     endif endif  if thisform.optiongroup1.option1.value=1   locate for tsbh=upper(allt(thisform.text1.value)   if not found()      =messagebox('沒有該圖書編號!',0+64+0,'提示')   

44、60;  go top   endif endif       thisform.refresh代碼說明:根據(jù)圖書的條形碼或圖書編號查詢圖書。并且可以對當(dāng)前所選定的圖書進(jìn)行修改。*- 控件: command3    *- click事件代碼如下:sele 4if .not.bof()    如果不到表頭    skip -1指針上移一條記錄   thisform mand1.setfocus

45、60;  thisform.refresh  endif  代碼說明:當(dāng)前所查詢的圖書資料上翻一條。*- 控件: command4    *- click事件代碼如下:sele 4if .not.eof()   如果不到表尾    skip     指針下移一條記錄   thisform mand2.setfocus   thisform.refresh  endif  代碼說明:當(dāng)前所查詢的圖書資料下翻一條。 *- 控件: comman

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論