版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要本文首先介紹了數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms)的基本概念及關(guān)系模型等。然后對(duì)問題的來源進(jìn)行深入分析,指出圖書借閱者、圖書館工作人員和圖書館管理人員是問題主要來源,并指出本數(shù)據(jù)管理系統(tǒng)的實(shí)用性功能就是管理好圖書館信息,提高工作效率,避免數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高的弊端。接著對(duì)需求分析進(jìn)行細(xì)致的分析,特別對(duì)圖書借閱者、圖書館工作人員二者權(quán)限進(jìn)行分配。接著對(duì)系統(tǒng)功能模塊進(jìn)行分析,指出本系統(tǒng)功能模塊主要分為“圖書資料管理”模塊、“學(xué)生資料管理”模塊、“借閱管理”模塊??偟膩碚f,本圖書管理系統(tǒng),介紹了該系統(tǒng)組成結(jié)構(gòu)、功能特點(diǎn)、使用原理和方法,本系統(tǒng)實(shí)現(xiàn)了系統(tǒng)登陸、圖書管理、學(xué)生管理圖書的借閱與
2、歸還、圖書借閱排行榜和查看逾期未還圖書以及各種信息的打印等功能。有了這個(gè)系統(tǒng)就使圖書館的工作變得簡(jiǎn)單了許多,使圖書館的圖書管理形成了一個(gè)整體自動(dòng)化管理模式。關(guān)鍵詞:圖書借閱 數(shù)據(jù)連接 模塊功能 系統(tǒng)工程目錄摘 要11 前言11.1作業(yè)背景11.2選題說明11.2.1基本思路21.2.2作業(yè)目標(biāo)21.3工作業(yè)績(jī)21.3.1個(gè)人主要工作21.3.2主要收獲21.3.3自我評(píng)定32 系統(tǒng)設(shè)計(jì)與分析42.1功能描述42.2功能模塊設(shè)計(jì)43 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)53.1數(shù)據(jù)庫(kù)需求分析53.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)63.2.1概念結(jié)構(gòu)設(shè)計(jì)63.2.2邏輯結(jié)構(gòu)設(shè)計(jì)84表的開發(fā)與設(shè)計(jì)104.1學(xué)生信息表的開發(fā)與設(shè)計(jì)104
3、.1.1學(xué)生信息表的表編輯器104.1.2學(xué)生信息表的數(shù)據(jù)錄入104.2班級(jí)信息表的開發(fā)與設(shè)計(jì)114.2.1班級(jí)信息表的表編輯器114.2.2班級(jí)信息表的數(shù)據(jù)錄入114.3書籍信息表的開發(fā)與設(shè)計(jì)124.3.1書籍信息表的表設(shè)計(jì)器124.3.2書籍信息表的數(shù)據(jù)錄入124.4借閱信息表的開發(fā)與設(shè)計(jì)134.4.1借閱信息表的表設(shè)計(jì)器134.4.2借閱信息表的數(shù)據(jù)錄入134.5用戶信息表的開發(fā)與設(shè)計(jì)144.5.1用戶信息表的表設(shè)計(jì)器144.5.2用戶信息表的數(shù)據(jù)錄入145系統(tǒng)的實(shí)現(xiàn)155.1主程序?qū)崿F(xiàn)155.2 “命令按鈕”實(shí)現(xiàn)165.2.1“命令按鈕”界面設(shè)定165.2.2“命令按鈕”屬性設(shè)置165
4、.2.3“命令按鈕”代碼實(shí)現(xiàn)175.3 pass表單實(shí)現(xiàn)195.3.1pass表單數(shù)據(jù)環(huán)境195.3.2pass表單界面設(shè)定195.3.3pass表單代碼實(shí)現(xiàn)195.4 系統(tǒng)主表單實(shí)現(xiàn)215.4.1系統(tǒng)主菜單的頁面設(shè)定215.4.2系統(tǒng)主菜單的代碼實(shí)現(xiàn)215.5學(xué)生管理表單實(shí)現(xiàn)225.5.1學(xué)生管理表單的數(shù)據(jù)環(huán)境225.5.2學(xué)生管理表單的頁面設(shè)定225.5.3學(xué)生管理表單的代碼實(shí)現(xiàn)235.6學(xué)生查詢條件表單實(shí)現(xiàn)285.6.1學(xué)生查詢條件表單界面設(shè)定285.6.2學(xué)生查詢條件表單代碼實(shí)現(xiàn)285.7學(xué)生信息查詢結(jié)果表單實(shí)現(xiàn)295.7.1學(xué)生信息查詢結(jié)果表單數(shù)據(jù)環(huán)境295.7.2學(xué)生信息查詢結(jié)果表
5、單界面設(shè)定295.7.3學(xué)生信息查詢結(jié)果表單代碼實(shí)現(xiàn)295.8圖書管理表單實(shí)現(xiàn)305.8.1圖書管理表單的數(shù)據(jù)環(huán)境305.8.2圖書管理表單的頁面設(shè)定315.8.3圖書管理表單的代碼實(shí)現(xiàn)315.9圖書查詢條件表單實(shí)現(xiàn)365.9.1圖書查詢條件表單界面設(shè)定365.6.2圖書查詢條件表單代碼實(shí)現(xiàn)365.10借閱管理表單實(shí)現(xiàn)375.10.1借閱管理表單數(shù)據(jù)環(huán)境375.10.2借閱管理表單界面設(shè)定375.10.3借閱管理表單代碼實(shí)現(xiàn)385.11圖書借閱排行榜表單實(shí)現(xiàn)385.11.1圖書借閱排行榜表單數(shù)據(jù)環(huán)境385.11.2圖書借閱排行榜表單頁面設(shè)定385.11.3圖書借閱排行榜表單代碼實(shí)現(xiàn)396程序的
6、調(diào)試406.1輸入模塊調(diào)試406.2查詢模塊調(diào)試416.3統(tǒng)計(jì)模塊調(diào)試42結(jié)束語43參考文獻(xiàn)44沈陽理工大學(xué)圖書借閱系統(tǒng)設(shè)計(jì)與開發(fā)1 前言1.1作業(yè)背景本文根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用課程要求而做。課程作業(yè)要求如下:用數(shù)據(jù)庫(kù)管理系統(tǒng)開發(fā)工具(visual foxpro)開發(fā)一個(gè)實(shí)用的小型管理信息系統(tǒng)。在學(xué)習(xí)數(shù)據(jù)庫(kù)原理與應(yīng)用教程之后,學(xué)會(huì)運(yùn)用數(shù)據(jù)庫(kù)建立管理系統(tǒng)。選擇生活中需要?jiǎng)?chuàng)建管理系統(tǒng)的題材,建立數(shù)據(jù)庫(kù)管理系統(tǒng)。如圖書館管理系統(tǒng)、學(xué)生檔案管理管理系統(tǒng)、客房管理系統(tǒng)等等。要求實(shí)現(xiàn)表單的設(shè)計(jì)、查詢、修改與添加等。建立數(shù)據(jù)庫(kù),將若干邏輯聯(lián)系的表統(tǒng)一管理便于應(yīng)用。建立表單的查詢與視圖,從一個(gè)或多個(gè)表中檢索符合指
7、定條件的記錄,供用戶查看、更改、保存和分析。在視圖中可以實(shí)現(xiàn)對(duì)表的更改并直接返回原表便于在大量數(shù)據(jù)中通過簡(jiǎn)單的方式很容易的完成數(shù)據(jù)的更新。(1)根據(jù)課程設(shè)計(jì)時(shí)間選擇適當(dāng)規(guī)模大小的設(shè)計(jì)題目,分小組進(jìn)行設(shè)計(jì)。(2)小組組長(zhǎng)為組員分配任務(wù),根據(jù)合理的安排,按照系統(tǒng)開發(fā)的流程及方法,踏實(shí)地開展課程設(shè)計(jì)活動(dòng)。(3)課程設(shè)計(jì)活動(dòng)中,撰寫相關(guān)技術(shù)文檔。最后提交詳細(xì)的課程設(shè)計(jì)報(bào)告。(4)開發(fā)出可上機(jī)運(yùn)行的管理信息系統(tǒng),通過上機(jī)檢查。 1.2選題說明長(zhǎng)期以來,圖書管理都是依賴人工進(jìn)行的,面對(duì)如此眾多的圖書信息,其工作量可想而知,不僅僅浪費(fèi)了大量的人力物力,而且由于人工管理存在著大量的不可控因素,造成了圖書管理的
8、某些不規(guī)范。在學(xué)校,尤其是在大中專院校,圖書管理是學(xué)校的一項(xiàng)重要的數(shù)據(jù)資源,圖書管理也是學(xué)校的一項(xiàng)常規(guī)性的重要工作。隨著社會(huì)的日益發(fā)展,尤其是科技的迅猛發(fā)展,計(jì)算機(jī)廣泛地應(yīng)用在生產(chǎn)生活的各個(gè)方面,不僅提高了工作效率,而且也降低了勞動(dòng)強(qiáng)度,美化了我們的工作環(huán)境。1.2.1基本思路沈陽理工大學(xué)圖書借閱系統(tǒng)的功能包括學(xué)生管理、圖書管理和借閱管理的輸入、查詢等。利用vf系統(tǒng)實(shí)現(xiàn)自動(dòng)化控制,實(shí)現(xiàn)系統(tǒng)登錄、圖書管理、學(xué)生管理、圖書借閱與歸還、圖書借閱排行榜和查看逾期未還圖書以及各種信息的打印功能。1.2.2作業(yè)目標(biāo)(1)開發(fā)設(shè)計(jì)至少6個(gè)表單,開發(fā)設(shè)計(jì)至少3個(gè)數(shù)據(jù)表;(2)建立“沈陽理工大學(xué)圖書借閱管理系統(tǒng)
9、”數(shù)據(jù)庫(kù)系統(tǒng),建立各個(gè)數(shù)據(jù)表之間數(shù)據(jù)邏輯關(guān)系;(3)實(shí)現(xiàn)系統(tǒng)登錄、圖書管理、學(xué)生管理、圖書借閱與歸還、圖書借閱排行榜和查看逾期未歸還圖書以及各種信息的打印功能;(4)實(shí)現(xiàn)圖書信息管理工作自動(dòng)化與數(shù)據(jù)化;1.3工作業(yè)績(jī)1.3.1個(gè)人主要工作我個(gè)人完成了數(shù)據(jù)庫(kù)的功能分析與系統(tǒng)設(shè)計(jì),數(shù)據(jù)庫(kù)各個(gè)數(shù)據(jù)表的設(shè)計(jì)與錄入,數(shù)據(jù)庫(kù)各個(gè)表單的設(shè)計(jì)與開發(fā),數(shù)據(jù)庫(kù)各個(gè)功能實(shí)現(xiàn)的代碼開發(fā)與錄入,數(shù)據(jù)庫(kù)各個(gè)功能的調(diào)試等工作。1.3.2主要收獲課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出和解決實(shí)際問題,鍛煉時(shí)間能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。所以通過此次課設(shè)不僅鍛煉了自己這方面的能力,也確實(shí)提高
10、了自己。(1)數(shù)據(jù)庫(kù)的主要目的是實(shí)現(xiàn)數(shù)據(jù)的共享,共享的前提是實(shí)現(xiàn)系統(tǒng)的嚴(yán)密性和完整性,任何一個(gè)微小的細(xì)節(jié)與錯(cuò)誤都會(huì)引起后續(xù)工作的較大的錯(cuò)誤。所以,在開發(fā)的過程中應(yīng)該注意每一個(gè)細(xì)節(jié)問題,避免之后的修改工作;(2)數(shù)據(jù)庫(kù)開發(fā)是一項(xiàng)辛苦的工作,需要周全的考慮和耐心,尤其是后續(xù)調(diào)試階段,由于功能設(shè)計(jì)與模塊設(shè)計(jì)的不嚴(yán)密,導(dǎo)致在調(diào)試的過程中出現(xiàn)其他的情況。除了在設(shè)計(jì)階段保持設(shè)計(jì)的嚴(yán)密性之外,在后續(xù)調(diào)試階段,需要站在全數(shù)據(jù)庫(kù)系統(tǒng)的層面看待出現(xiàn)的問題。從而抓住核心問題,卻不是為了節(jié)省時(shí)間改動(dòng)小范圍的實(shí)現(xiàn)表單內(nèi)部順利運(yùn)行;(3)數(shù)據(jù)庫(kù)開發(fā)屬于計(jì)算機(jī)語言的范疇,語言的掌握重點(diǎn)在于使用的頻率,通過課本與課堂的方式不
11、能良好地掌握語言,還是需要反復(fù)的使用。即使完成課程設(shè)計(jì)之后想要繼續(xù)掌握這門語言,也需要不斷地利用數(shù)據(jù)庫(kù)開發(fā)的思想考慮問題。1.3.3自我評(píng)定 優(yōu) 良 中 及格 不及格2 系統(tǒng)設(shè)計(jì)與分析沈陽理工大學(xué)圖書借閱管理系統(tǒng)需根據(jù)學(xué)校實(shí)際情況進(jìn)行設(shè)計(jì),根據(jù)不同的特點(diǎn)添加不同的模塊,所以需要合理劃分功能模塊,成功的系統(tǒng)分析可使系統(tǒng)的實(shí)現(xiàn)以及系統(tǒng)測(cè)試節(jié)省很多的物理和人力。2.1功能描述圖書借閱系統(tǒng)的功能包括系統(tǒng)登錄、圖書管理、學(xué)生管理、圖書借閱與管理、圖書借閱排行榜和查看逾期未還圖書以及各種信息的打印功能。本次設(shè)計(jì)包括三大功能模塊,各功能模塊包括以下內(nèi)容:(1)學(xué)生管理模塊:學(xué)生信息的查看、添加、編輯、查找、
12、刪除、打印等功能;(2)圖書管理模塊:圖書信息的查看、添加、編輯、查找、刪除、打印等功能;(3)借閱管理模塊:圖書的借閱、歸還,超期圖書的查看、歸還,查看圖書借閱排行等功能;2.2功能模塊設(shè)計(jì)系統(tǒng)的主要功能模塊如下圖2.1所示: 圖2.1主要功能模塊示意圖3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)開發(fā)中非常重要的一個(gè)環(huán)節(jié),數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)得好壞將直接影響系統(tǒng)的效率。在設(shè)計(jì)數(shù)據(jù)庫(kù)之前,要了解用戶需求,從而確定數(shù)據(jù)庫(kù)的結(jié)構(gòu)。否則,如果在代碼實(shí)現(xiàn)過程中再修改數(shù)據(jù)庫(kù)的結(jié)構(gòu),將會(huì)浪費(fèi)巨大的人力和物力。同時(shí),在數(shù)據(jù)庫(kù)設(shè)計(jì)中,表的數(shù)量不能太多,邏輯層次也不能太多,否則系統(tǒng)的升級(jí)和維護(hù)將會(huì)非常困難。3.1數(shù)據(jù)庫(kù)需求分
13、析用戶的需求具體體現(xiàn)為各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入,要收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。通過對(duì)系統(tǒng)功能的分析可知,圖書借閱管理系統(tǒng)需要包含以下數(shù)據(jù)庫(kù)信息。 圖書信息數(shù)據(jù):包括圖書各方面的信息數(shù)據(jù) 學(xué)生信息數(shù)據(jù):包括學(xué)生各方面的信息數(shù)據(jù) 借閱信息數(shù)據(jù):包括借閱關(guān)系各方面的信息數(shù)據(jù)經(jīng)過上述系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴(kuò)展,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。(1)圖書信息,包含圖書的編號(hào)、類別、書名、作者、定價(jià)、出版社、入庫(kù)日期、借閱次數(shù)等;(2)學(xué)生信息,包含學(xué)號(hào)、姓名、性別、學(xué)
14、院、班級(jí)、電話等;(3)借閱信息,包含學(xué)號(hào)、圖書編號(hào)、借閱日期、歸還日期等;(4)用戶信息,包含賬戶、密碼等;(5)班級(jí)信息,包含班級(jí)編號(hào)、班級(jí)信息等; 在需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)項(xiàng)分析的基礎(chǔ)上,繼續(xù)進(jìn)行課程設(shè)計(jì)。3.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)3.2.1概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:圖書信息實(shí)體、學(xué)生信息實(shí)體、借閱信息實(shí)體、用戶信息實(shí)體以及班級(jí)信息實(shí)體。各個(gè)實(shí)體具體的描述e-r圖如下?!皩W(xué)生信息和、“論文
15、信息”和“導(dǎo)師信息”實(shí)體之間關(guān)系的e-r 圖如圖3.1所示:學(xué)生信息借閱信息圖書信息圖3.1 實(shí)體之間關(guān)系 e-r 圖 “圖書信息”實(shí)體的 e-r 圖如圖3.2所示:圖書信息編號(hào) 書名類別作者出版社圖3.2“圖書信息”實(shí)體 e-r 圖“學(xué)生信息”實(shí)體的 e-r 圖如圖3.3所示:學(xué)生信息 專業(yè)電話號(hào)碼年齡性別姓名學(xué)號(hào) 圖3.3“學(xué)生信息”實(shí)體 e-r 圖“借閱信息”實(shí)體的 e-r 圖如圖3.4所示:借閱信息歸還日期借閱日期圖書編號(hào)學(xué)號(hào)圖3.4“借閱信息”實(shí)體 e-r 圖3.2.2邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就
16、是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。使用visual foxpro開發(fā)時(shí)可以直接使用visual foxpro自帶的數(shù)據(jù)庫(kù)。圖書借閱管理系統(tǒng)中使用的各個(gè)數(shù)據(jù)表的字段設(shè)置如下:論文信息表的字段設(shè)置如表3.1所示:表3.1book表結(jié)構(gòu)表 學(xué)生信息表的字段設(shè)置如表3.2所示:表3.2student表結(jié)構(gòu)表借閱信息表的字段設(shè)置如表3.3所示:表3.3borrow表結(jié)構(gòu)表用戶信息表的字段設(shè)置如表3.4所示:表3.4user表結(jié)構(gòu)表班級(jí)信息表的字段設(shè)置如表3.5所示:表3.5dept表結(jié)構(gòu)表4表的開發(fā)與設(shè)計(jì)4.1學(xué)生信息表的開發(fā)與設(shè)計(jì)4.1.1學(xué)生信息表的表編輯器單擊項(xiàng)目管理器中“新建”命令創(chuàng)建“表”,或者在命令框中輸
17、入“create”建立新表,其中表設(shè)計(jì)器的錄入應(yīng)當(dāng)符合之前制定的邏輯結(jié)構(gòu),具體如圖4.1所示: 圖4.1學(xué)生信息表表編輯器示意圖4.1.2學(xué)生信息表的數(shù)據(jù)錄入完成表設(shè)計(jì)器之后系統(tǒng)默認(rèn)提示“是否現(xiàn)在錄入數(shù)據(jù)”,單擊“是”,則可以開始錄入數(shù)據(jù),或者輸入“append”命令添加新的數(shù)據(jù),學(xué)生信息表的數(shù)據(jù)錄入具體如圖4.2所示:圖4.2學(xué)生信息表數(shù)據(jù)錄入示意圖4.2班級(jí)信息表的開發(fā)與設(shè)計(jì)4.2.1班級(jí)信息表的表編輯器單擊項(xiàng)目管理器中“新建”命令創(chuàng)建“表”,或者在命令框中輸入“create”建立新表,其中表設(shè)計(jì)器的錄入應(yīng)當(dāng)符合之前制定的邏輯結(jié)構(gòu),具體如圖4.3所示: 圖4.3班級(jí)信息表表編輯器示意圖4.
18、2.2班級(jí)信息表的數(shù)據(jù)錄入完成表設(shè)計(jì)器之后系統(tǒng)默認(rèn)提示“是否現(xiàn)在錄入數(shù)據(jù)”,單擊“是”,則可以開始錄入數(shù)據(jù),或者輸入“append”命令添加新的數(shù)據(jù),班級(jí)信息表的數(shù)據(jù)錄入具體如圖4.4所示下: 圖4.4班級(jí)信息表數(shù)據(jù)錄入示意圖4.3書籍信息表的開發(fā)與設(shè)計(jì)4.3.1書籍信息表的表設(shè)計(jì)器單擊項(xiàng)目管理器中“新建”命令創(chuàng)建“表”,或者在命令框中輸入“create”建立新表,其中表設(shè)計(jì)器的錄入應(yīng)當(dāng)符合之前制定的邏輯結(jié)構(gòu),具體如圖4.5所示: 圖4.5書籍信息表表設(shè)計(jì)器示意圖4.3.2書籍信息表的數(shù)據(jù)錄入完成表設(shè)計(jì)器之后系統(tǒng)默認(rèn)提示“是否現(xiàn)在錄入數(shù)據(jù)”,單擊“是”,則可以開始錄入數(shù)據(jù),或者輸入“appen
19、d”命令添加新的數(shù)據(jù),書籍信息表數(shù)據(jù)錄入具體如圖4.6所示: 圖4.6書籍信息表數(shù)據(jù)錄入示意圖 4.4借閱信息表的開發(fā)與設(shè)計(jì)4.4.1借閱信息表的表設(shè)計(jì)器單擊項(xiàng)目管理器中“新建”命令創(chuàng)建“表”,或者在命令框中輸入“create”建立新表,其中表設(shè)計(jì)器的錄入應(yīng)當(dāng)符合之前制定的邏輯結(jié)構(gòu),具體如圖4.7所示:圖4.7借閱信息表表設(shè)計(jì)器圖4.4.2借閱信息表的數(shù)據(jù)錄入完成表設(shè)計(jì)器之后系統(tǒng)默認(rèn)提示“是否現(xiàn)在錄入數(shù)據(jù)”,單擊“是”,則可以開始錄入數(shù)據(jù),或者輸入“append”命令添加新的數(shù)據(jù),借閱信息表數(shù)據(jù)錄入具體如圖4.8所示下:圖4.8借閱信息表數(shù)據(jù)錄入示意圖4.5用戶信息表的開發(fā)與設(shè)計(jì)4.5.1用戶
20、信息表的表設(shè)計(jì)器單擊項(xiàng)目管理器中“新建”命令創(chuàng)建“表”,或者在命令框中輸入“create”建立新表,其中表設(shè)計(jì)器的錄入應(yīng)當(dāng)符合之前制定的邏輯結(jié)構(gòu),具體如圖4.9所示:圖4.9用戶信息表數(shù)據(jù)錄入示意圖4.5.2用戶信息表的數(shù)據(jù)錄入完成表設(shè)計(jì)器之后系統(tǒng)默認(rèn)提示“是否現(xiàn)在錄入數(shù)據(jù)”,單擊“是”,則可以開始錄入數(shù)據(jù),或者輸入“append”命令添加新的數(shù)據(jù),用戶信息表數(shù)據(jù)錄入具體如圖4.9所示:圖4.9用戶信息表數(shù)據(jù)錄入示意圖5系統(tǒng)的實(shí)現(xiàn)5.1主程序?qū)崿F(xiàn)在“項(xiàng)目管理器”對(duì)話框中打開“代碼”選項(xiàng)卡,選擇“程序”選項(xiàng),單擊“新建”按鈕,即可打開程序編輯窗口,在程序編輯窗口創(chuàng)建main程序并將其設(shè)置為主程序
21、,如圖5.1所示: 圖5.1主程序代碼示意圖代碼為:set talk offset safety offset stat bar offset sysmenu off &可關(guān)掉visual foxpro系統(tǒng)菜單的區(qū)域set sysmenu to &關(guān)閉系統(tǒng)菜單set century on _screeen.visible=.f. &隱藏系統(tǒng)主菜單do form formspass &執(zhí)行登錄表單read events &開始事件循環(huán)5.2 “命令按鈕”實(shí)現(xiàn)5.2.1“命令按鈕”界面設(shè)定單擊項(xiàng)目管理器的“類”建立,新建創(chuàng)建“命令按鈕類”,其最終效果如圖5.2所示: 圖5.2命令按鈕界面設(shè)定示意圖
22、5.2.2“命令按鈕”屬性設(shè)置命令按鈕屬性如表5.1所示: 表5.1命令按鈕屬性設(shè)置示意圖5.2.3“命令按鈕”代碼實(shí)現(xiàn)(1)“首記錄”代碼this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curgo topthis.enabled=.f.this.parent.cmdprev.enable=.f.this.parent.cmdnext.enable=.t.this.parent.cmdend.enable=.t.thisform.refresh(2)“上一條”代碼this.mousepointer=99this.mouseicon=sy
23、s(5)+imagepoint.curskip-1if bof() messagebox(已經(jīng)是第一條記錄,48,信息窗口) this.enabled=.f. this.parent.cmdtop.enabled=.f. endifthis.parent.cmdnext.enabled=.t.this.parent.cmdend.enabled=.t.thisform.refresh(3)“下一條”代碼this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curskipif eof() messagebox(已經(jīng)是最后一條記錄,48,信息窗口
24、) skip-1 this.enabled=.f. this.parent.cmdend.enabled=.f. endif this.parent.cmdtop.enabled=.t. this.parent.cmdprev.enabled=.t. thisform.refresh(4)“末記錄”代碼this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curgo bottomthis.enabled=.f.this.parent.cmdprev.enabled=.t.this.parent.cmdnext.enabled=.f.this.
25、parent.cmdtop.enabled=.t.thisform.refresh(5)“返回”代碼this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curthisform.releasedo form formsmainform5.3 pass表單實(shí)現(xiàn)5.3.1pass表單數(shù)據(jù)環(huán)境本表單的功能用于接受用戶名和密碼,判斷是否合法。如果為合法用戶,則調(diào)用mainform主表單,如果為非法用戶,重新輸入用戶名和密碼,三次輸入均為非法用戶時(shí),系統(tǒng)將終止運(yùn)行。pass表單的數(shù)據(jù)環(huán)境為user表,其數(shù)據(jù)環(huán)境設(shè)計(jì)器界面如圖5.3所示: 圖5.3pas
26、s表單數(shù)據(jù)環(huán)境示意圖5.3.2pass表單界面設(shè)定pass表單設(shè)計(jì)界面如圖5.4所示: 圖5.4pass表單頁面設(shè)定示意圖5.3.3pass表單代碼實(shí)現(xiàn)(1)form的init事件 public s s=0(2)cmdexit的click事件set exact ons=s+1select userlocate for alltrim(用戶名)=alltrim(thisform.txt用戶.value) and alltrim(密碼)=alltrim(thisform.txt口令.value) if found() do formmainform else if s3 messagebox(用戶
27、名/密碼不正確,重新輸入,48,系統(tǒng)提示) thisform.txt用戶.value= thisform.txt口令.value= thisform.txt用戶.setfocus() else messagebox(系統(tǒng)無法啟動(dòng)!,48,系統(tǒng)提示) thisform.release clear quit endifendifthisform.releaseset exact off5.4 系統(tǒng)主表單實(shí)現(xiàn)5.4.1系統(tǒng)主菜單的頁面設(shè)定本菜單使用命令按鈕調(diào)用“學(xué)生管理”表單、“圖書管理”表單和“借閱管理”表單,其設(shè)計(jì)界面如圖5.5所示: 5.5系統(tǒng)主菜單頁面設(shè)定示意圖5.4.2系統(tǒng)主菜單的代碼實(shí)現(xiàn)
28、(1)“學(xué)生管理”按鈕的click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curdo form formsstudentthisform.release(2)“圖書管理”按鈕的click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curdo form formsbookthisform.release(3)“借閱管理”按鈕的click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curdo
29、form formsborrowthisform.release(4)“返回”按鈕的click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curthisform.releasedo formpass表單5.5學(xué)生管理表單實(shí)現(xiàn)5.5.1學(xué)生管理表單的數(shù)據(jù)環(huán)境學(xué)生管理表單用于學(xué)生記錄的編輯功能,其數(shù)據(jù)環(huán)境如圖5.6所示下: 圖5.6學(xué)生管理表單數(shù)據(jù)環(huán)境示意圖5.5.2學(xué)生管理表單的頁面設(shè)定學(xué)生管理表單的頁面設(shè)定如圖5.7所示: 圖5.7學(xué)生管理表單頁面設(shè)定示意圖5.5.3學(xué)生管理表單的代碼實(shí)現(xiàn)(1)form的init事件 publ
30、ic sfindendproc(2)form的stubrowse事件thisform.stubutton.cmdtop.enabled=.t.thisform.stubutton.cmdprev.enabled=.t.thisform.stubutton.cmdnext.enabled=.t.thisform.stubutton.cmdend.enabled=.t.thisform.stubutton.cmdadd.enabled=.t.thisform.stubutton.cmdedit.enabled=.t.thisform.stubutton.cmddelete.enabled=.t.t
31、hisform.stubutton.cmdfind.enabled=.t.thisform.stubutton.cmdprint.enabled=.t.thisform.stubutton.cmdsave.enabled=.f.thisform.stubutton.cmdcancel.enabled=.f.thisform.stubutton.cmdexit.enabled=.t.thisform.stuogp.enabled=.f.thisform.txt學(xué)號(hào).readonly=.t.thisform.txt姓名.readonly=.t.thisform.txt學(xué)院.readonly=.f.
32、thisform.txt.專業(yè)readonly=.t.thisform.txt班級(jí).readonly=.t.thisform.txt地址.readonly=.t.thisform.txt電話.readonly=.t.endproc(3)form的stumodify事件thisform.stubutton.cmdtop.enabled=.f.thisform.stubutton.cmdprev.enabled=.f.thisform.stubutton.cmdnext.enabled=.f.thisform.stubutton.cmdend.enabled=.f.thisform.stubutt
33、on.cmdadd.enabled=.f.thisform.stubutton.cmdedit.enabled=.f.thisform.stubutton.cmddelete.enabled=.f.thisform.stubutton.cmdfind.enabled=.f.thisform.stubutton.cmdprint.enabled=.f.thisform.stubutton.cmdsave.enabled=.t.thisform.stubutton.cmdcancel.enabled=.t.thisform.stubutton.cmdexit.enabled=.f.thisform
34、.stuogp.enabled=.t.thisform.txt學(xué)號(hào).readonly=.f.thisform.txt姓名.readonly=.f.thisform.txt學(xué)院.readonly=.t.thisform.txt.專業(yè)readonly=.f.thisform.txt班級(jí).readonly=.f.thisform.txt地址.readonly=.f.thisform.txt電話.readonly=.f.endproc(4)form的active事件select studentset filter togo topthisform.stubrowse()this.refreshendp
35、roc(5)cmd的valid事件thisform.txt班級(jí).valid()select studentendpro(6)“添加”按鈕的click事件select studentthisform.sturecord=recno()go bottomappend blankthisform.stumodify()thisform.refresh()endproc(7)“編輯”按鈕的click事件thisform.sturecord=recno()thisform.stumodify()thisform.txt學(xué)號(hào).readonly=.t.thisform.refresh()endproc(8)
36、“刪除”按鈕的click事件if messagebox(“確定刪除”,4+32,“圖書借閱管理系統(tǒng)”)=6thisform.sturecord=recno()set exact onselece borrowlocate for 學(xué)號(hào)=alltrim(thisform.txt學(xué)號(hào).value)and emptyif found()messagebox(“該學(xué)生有未還書籍,不能刪除”,48,“圖書借閱管理系統(tǒng)”)select studentset filter togo thisform.sturecordelseselect borrowgo topdo while not eof()if 學(xué)
37、號(hào)=alltrim(thisform.txt學(xué)號(hào).value)deletepackendifskipenddoselect studentdeletepackmessagebox(“刪除成功”,64,“圖書借閱管理系統(tǒng)”)select studentgo topthisform.stubrowse()endifthisform.refresh()set exact offendifendproc(9)“查找”按鈕的click事件do form formsstuinputendproc(10)“取消”按鈕的click事件if messagebox(“確定取消”,4+32,“系統(tǒng)消息”)=6tab
38、lerevert(.f.)go thisform.sturecordthisform.stubrowse()thisform.txt學(xué)號(hào).readonly=.t.thisform.refresh()endifendproc(11)“打印”按鈕的click事件stuno=thisform.txt學(xué)號(hào).valuepname=”stu”do form formsprintoutendproc(12)“保存”按鈕的click事件local xx=.t.do casecase empty(alltrim(thisform.txt學(xué)號(hào).value)messagebox(“學(xué)號(hào)不能為空”,48,“圖書借閱管
39、理系統(tǒng)”)thisform.txt學(xué)號(hào).setfocus()x=.f.case empty(alltrim(thisform.txt姓名.value)messagebox(“姓名不能為空”,48,“圖書借閱管理系統(tǒng)”)case empty(thisform.cmb班級(jí).value)messagebox(“班級(jí)不能為空”,48,“圖書借閱管理系統(tǒng)”)thisform.cmb班級(jí).setfocus()x=.f.endcaseif x=.t.if messagebox(“確定保存”,4+32,“圖書借閱管理系統(tǒng)”)=6messagebox(“保存成功”,64,“圖書借閱管理系統(tǒng)”)thisform.
40、stubrowse()thisform.refresh()endifendifendproc5.6學(xué)生查詢條件表單實(shí)現(xiàn)5.6.1學(xué)生查詢條件表單界面設(shè)定本表單被student表單調(diào)用,其設(shè)計(jì)界面如圖5.8所示: 圖5.8學(xué)生查詢條件表單界面設(shè)定示意圖5.6.2學(xué)生查詢條件表單代碼實(shí)現(xiàn)(1)“查詢”按鈕的click事件sfind=”.t.”if not empty(alltrim(thisform.txt學(xué)號(hào).value)sfind=”+alltrim(thisform.txt學(xué)號(hào)value)+”$學(xué)號(hào)”endifif not empty(alltrim(thisform.txt姓名.value
41、)sfind=sfind+”.and.”+”+alltrim(thisform.txt姓名.value)+”$姓名”endifthisform.release()do form formsstufindendproc(2)“退出”按鈕的click事件procedure cmdexit.click()thisform.releaseendproc5.7學(xué)生信息查詢結(jié)果表單實(shí)現(xiàn)5.7.1學(xué)生信息查詢結(jié)果表單數(shù)據(jù)環(huán)境該表單為stuinput調(diào)用,用于顯示學(xué)生查詢結(jié)果,其數(shù)據(jù)環(huán)境如圖5.9所示: 圖5.9學(xué)生信息查詢結(jié)果表單數(shù)據(jù)環(huán)境示意圖5.7.2學(xué)生信息查詢結(jié)果表單界面設(shè)定學(xué)生信息查詢結(jié)果表單界面如
42、圖5.10所示: 圖5.10學(xué)生信息查詢結(jié)果表單界面設(shè)定示意圖5.7.3學(xué)生信息查詢結(jié)果表單代碼實(shí)現(xiàn)(1)form的init事件select studentset filter to &sfindcourt for &sfind to nif n=0thisform.cmdprint.enabled=.f.endifendproc (2)“打印”按鈕的click事件report form reportsstudent for &sfind previewendproc5.8圖書管理表單實(shí)現(xiàn)5.8.1圖書管理表單的數(shù)據(jù)環(huán)境該表單用于圖書記錄的編輯功能,其數(shù)據(jù)環(huán)境如圖5.11所示: 圖5.11圖書
43、管理表單數(shù)據(jù)環(huán)境示意圖 5.8.2圖書管理表單的頁面設(shè)定該圖書管理表單頁面設(shè)定如圖5.12所示: 圖5.12圖書管理表單頁面設(shè)定示意圖5.8.3圖書管理表單的代碼實(shí)現(xiàn)(1)form的init事件 public booknoendproc(2)form的stubrowse事件thisform.stubutton.cmdtop.enabled=.t.thisform.stubutton.cmdprev.enabled=.t.thisform.stubutton.cmdnext.enabled=.t.thisform.stubutton.cmdend.enabled=.t.thisform.stub
44、utton.cmdadd.enabled=.t.thisform.stubutton.cmdedit.enabled=.t.thisform.stubutton.cmddelete.enabled=.t.thisform.stubutton.cmdfind.enabled=.t.thisform.stubutton.cmdprint.enabled=.t.thisform.stubutton.cmdsave.enabled=.f.thisform.stubutton.cmdcancel.enabled=.f.thisform.stubutton.cmdexit.enabled=.t.thisf
45、orm.txt圖書編號(hào).readonly=.t.thisform.txt圖書名稱.readonly=.t.thisform.txt圖書類別.readonly=.t.thisform.txt入庫(kù)日期.readonly=.t.thisform.txt出版社.readonly=.t.thisform.txt定價(jià).readonly=.t.thisform.edt備注.readonly=.t.endproc(3)form的stumodify事件thisform.stubutton.cmdtop.enabled=.f.thisform.stubutton.cmdprev.enabled=.f.thisfo
46、rm.stubutton.cmdnext.enabled=.f.thisform.stubutton.cmdend.enabled=.f.thisform.stubutton.cmdadd.enabled=.f.thisform.stubutton.cmdedit.enabled=.f.thisform.stubutton.cmddelete.enabled=.f.thisform.stubutton.cmdfind.enabled=.f.thisform.stubutton.cmdprint.enabled=.f.thisform.stubutton.cmdsave.enabled=.t.t
47、hisform.stubutton.cmdcancel.enabled=.t.thisform.stubutton.cmdexit.enabled=.f.thisform.stuogp.enabled=.t.thisform.txt圖書編號(hào).readonly=.f.thisform.txt圖書名稱.readonly=.f.thisform.txt圖書類別.readonly=.f.thisform.txt入庫(kù)日期.readonly=.f.thisform.txt出版社.readonly=.f.thisform.txt定價(jià).readonly=.f.thisform.edt備注.readonly=.
48、f.endproc(4)form的active事件select bookset filter togo topthisform.stubrowse()this.refreshendproc(5)form的refresh事件select bookif 是否借出=.f.thisform.lblshow.forecolor=rgb(0,0,255)thisform.lblshow.caption=”此書未借出”elsethisform.lblshow.forecolor=rgb(0,0,255)thisform.lblshow.caption=”此書已借出”endifendproc(6)“添加”按鈕
49、的click事件select bookthisform.bookrecord=recno()go bottomappend blankthisform.bookmodify()thisform.refresh()endproc(7)“編輯”按鈕的click事件thisform.bookrecord=recno()thisform.bookmodify()thisform.txt圖書編號(hào).readonly=.t.thisform.refresh()endproc(8)“刪除”按鈕的click事件if messagebox(“確定刪除”,4+32,“圖書借閱管理系統(tǒng)”)if x=6thisform
50、.bookrecord=recno()if thisform.lbjshow.caption=”此書已借出”messagebox(“該書未還”,48,”圖書借閱管理系統(tǒng)”)elseset exact onselece borrowgo topdo while not eof()if 圖書編號(hào)=alltrim(thisform.txt圖書編號(hào).value)deletepackendifskipenddoselect studentdeletepackmessagebox(“刪除成功”,64,“圖書借閱管理系統(tǒng)”)endifthisform.refresh()set exact offendifendproc(9)“查找”按鈕的click事件do form formsbookinputendproc(10)“取消”按鈕的click事件if messagebox(“確定取消”,4+32,“系統(tǒng)消息”)=6tablerevert(.f.)go thisform.sturecordthisform.stubrowse()thisform.txt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版校園綜合維修服務(wù)承包協(xié)議版B版
- 2024版頂崗就業(yè)實(shí)習(xí)協(xié)議書
- 2025版車輛合伙經(jīng)營(yíng)與智能交通管理服務(wù)合作協(xié)議3篇
- 2025年度教育培訓(xùn)居間費(fèi)合同示范文本6篇
- 二零二五年度養(yǎng)老院室內(nèi)外裝修改造合同樣本2篇
- 2024年蒸汽鍋爐采購(gòu)協(xié)議
- 二零二五年度公共安全監(jiān)控設(shè)施全面維護(hù)保養(yǎng)合同范本3篇
- 小學(xué)信息技術(shù)三年級(jí)上冊(cè)第14課《給圖畫添加文字》說課稿
- 數(shù)據(jù)中心產(chǎn)業(yè)園項(xiàng)目建設(shè)方案
- 教育數(shù)字化轉(zhuǎn)型推動(dòng)下的師范生培養(yǎng)路徑與實(shí)踐
- 最好用高速公路機(jī)電維修手冊(cè)
- 家庭管理量表(FaMM)
- 土默特右旗高源礦業(yè)有限責(zé)任公司高源煤礦2022年度礦山地質(zhì)環(huán)境年度治理計(jì)劃
- 【金屬非金屬礦山(地下礦山)安全管理人員】考題
- 腰椎間盤突出癥的射頻治療
- 神經(jīng)外科手術(shù)的ERAS管理策略
- mt煤礦用氮?dú)夥罍缁鸺夹g(shù)
- ASTM-B117-16-鹽霧實(shí)驗(yàn)儀的標(biāo)準(zhǔn)操作規(guī)程(中文版)
- 【超星爾雅學(xué)習(xí)通】《老子》《論語》今讀網(wǎng)課章節(jié)答案
- 配電箱采購(gòu)技術(shù)要求
- 上海外國(guó)語大學(xué)附屬外國(guó)語學(xué)校2020-2021七年級(jí)下學(xué)期期中英語試卷+答案
評(píng)論
0/150
提交評(píng)論