版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、吉林農(nóng)業(yè)工程職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)摘 要在日新月異的今天社會(huì)經(jīng)濟(jì)發(fā)展高速增長(zhǎng),計(jì)算機(jī)已經(jīng)成為人們不可分割的一部分。為了加強(qiáng)計(jì)算機(jī)的智能化,人們開(kāi)發(fā)了各種管理系統(tǒng)來(lái)解決現(xiàn)實(shí)生活的尖端問(wèn)題。教務(wù)管理系統(tǒng)就是管理系統(tǒng)很重要的一部分。教務(wù)管理系統(tǒng)的需要是面向所有的教職工和學(xué)生,用戶(hù)數(shù)量大,地點(diǎn)分布廣。在這里我們使用的是c/s模式系統(tǒng)。 關(guān)鍵詞:powerbuilder程序設(shè)計(jì) access數(shù)據(jù)庫(kù) 教務(wù)管理系統(tǒng)。目 錄第一章 前言1第二章 系統(tǒng)流程及庫(kù)文件32.1 數(shù)據(jù)庫(kù)需求分析32.2 數(shù)據(jù)庫(kù)設(shè)計(jì)及過(guò)程 -7第三章 程序開(kāi)發(fā)103.1 登錄布置-10 3.1.1 登錄界面-10 3.1.2 創(chuàng)建
2、系統(tǒng)系統(tǒng)主菜單-133.2 基礎(chǔ)信息查詢(xún)-133.2.1 系部信息查詢(xún)界面-133.2.2 班級(jí)信息查詢(xún)界面-163.2.3 學(xué)生信息查詢(xún)界面-173.2.4 院校職工信息和課程信息查詢(xún)界面-193.3 教務(wù)管理20 3.3.1 學(xué)生選課-20 3.3.2 課表查詢(xún)-25 3.3.3 成績(jī)輸入-263.4 報(bào)表統(tǒng)計(jì)29 3.4.1 成績(jī)輸出-29 3.4.2 打印成績(jī)單-313.5 系統(tǒng)維護(hù)31 3.5.1 系部信息維護(hù)-31 3.5.2 班級(jí)信息維護(hù)-34 3.5.3 學(xué)生信息維護(hù)-34 3.5.4 課程信息維護(hù)-34 3.5.5 院校職工維護(hù)-34 3.5.6 用戶(hù)登錄維護(hù)-34參考文獻(xiàn)-
3、38致謝-39第一章 前 言信息管理系統(tǒng)(mis)是集計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)為一體的信息系統(tǒng)工程,它能夠使企業(yè)運(yùn)行的數(shù)據(jù)更加準(zhǔn)確、及時(shí)、全面、詳實(shí),同時(shí)對(duì)各種信息進(jìn)一步的加工,使企業(yè)領(lǐng)導(dǎo)層對(duì)生產(chǎn)、經(jīng)營(yíng)的決策依據(jù)更充分,更具有合理性科學(xué)性,并創(chuàng)造出更多的發(fā)展機(jī)會(huì);另外也進(jìn)一步加強(qiáng)企業(yè)的科學(xué)化、合理化、制度化、規(guī)范化管理,為企業(yè)的管理水平跨上新臺(tái)階,為企業(yè)持續(xù)、健康、穩(wěn)定的發(fā)展打下基礎(chǔ)。mis系統(tǒng)開(kāi)發(fā)過(guò)程不僅僅是一個(gè)編寫(xiě)應(yīng)用程序的過(guò)程,而是以軟件工程的思想為指導(dǎo),從可行性研究開(kāi)始,經(jīng)過(guò)系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施等主要階段而進(jìn)行規(guī)范的開(kāi)發(fā)過(guò)程。目前國(guó)內(nèi)使用和發(fā)展的mis平臺(tái)模式大體上分為兩種:客
4、戶(hù)機(jī)/服務(wù)器(client/server,簡(jiǎn)稱(chēng)c/s)模式和瀏覽器/服務(wù)器(browser/server,簡(jiǎn)稱(chēng)c/s)模式。mis系統(tǒng)不僅僅使用在企業(yè)中,它可以應(yīng)用的方面很廣,各行各業(yè)都可以應(yīng)用:金融、保險(xiǎn)、農(nóng)業(yè)、工業(yè)等等。只要是有數(shù)據(jù)采集整理紀(jì)錄的方面,都可以應(yīng)用。學(xué)校作為一個(gè)獨(dú)立的機(jī)構(gòu)同樣也不例外。而且學(xué)校的各種情況都比較復(fù)雜,各個(gè)機(jī)構(gòu)都各自獨(dú)立,又相互聯(lián)系,這就需要一個(gè)比較復(fù)雜的mis系統(tǒng)。學(xué)校的mis系統(tǒng)一般由以下管理部分組成:學(xué)生信息管理,教學(xué)管理,教務(wù)處管理,財(cái)務(wù)管理,物資管理,后勤管理等。學(xué)校的各個(gè)系統(tǒng)又分為不同的管理人員,不同的管理人員所看到的以及所操作管理的部分又不同,這就需
5、要給不同的操作者提供不同的操作管理權(quán)限。不同身份的用戶(hù)所需要的資料也不同,這需要給不同的用戶(hù)提供不同的操作界面,進(jìn)行不同的操作。而且不同身份的客戶(hù)所關(guān)心的問(wèn)題也不同,比如學(xué)校的使用者大體分學(xué)生、教師、教務(wù)處、這就需要在做mis系統(tǒng)開(kāi)發(fā)之前一定要做好前期的需求分析,中期的系統(tǒng)設(shè)計(jì)、程序開(kāi)發(fā),而且也要注意后期的系統(tǒng)維護(hù)。開(kāi)發(fā)工具介紹:powerbuilder提供了對(duì)目前流行的大多數(shù)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的支持,由于在powerbuilder的應(yīng)用程序中對(duì)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的部分一般采用國(guó)際化標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)言sql,使得用powerbuilder開(kāi)發(fā)的應(yīng)用程序可以不做修改或者只做少量的修改就可以在不同的后臺(tái)數(shù)
6、據(jù)庫(kù)管理系統(tǒng)上使用。也就是說(shuō)用powerbuilder開(kāi)發(fā)的應(yīng)用程序是獨(dú)立于服務(wù)器上的數(shù)據(jù)庫(kù)管理系統(tǒng)的。和大多數(shù)的windows應(yīng)用程序一樣,powerbuilder也是事件驅(qū)動(dòng)工作方式。在這種工作方式中,程序的運(yùn)行沒(méi)有固定的流程,程序中的代碼也是為各種可能發(fā)生的事件編寫(xiě)的,當(dāng)程序開(kāi)始運(yùn)行之后,它就可以接受來(lái)自系統(tǒng),用戶(hù)或者其它應(yīng)用程序觸發(fā)的事件,然后執(zhí)行相應(yīng)的事件代碼。事件驅(qū)動(dòng)的工作方式與面向?qū)ο蠹夹g(shù)是緊密相關(guān)的,在powerbuilder應(yīng)用程序中,接受發(fā)生的事件的往往就是程序界面中的各種可視化對(duì)象。powerbuilder是一種面向?qū)ο蟮拈_(kāi)發(fā)工具,各種windows應(yīng)用程序中常見(jiàn)的窗口、
7、菜單、控件等在powerbuilder中都是一個(gè)個(gè)的對(duì)象。在powerbuilder中我們還可以創(chuàng)建自己的用戶(hù)對(duì)象。特別要指出的是powerbuilder提供了對(duì)面向?qū)ο蠓椒ㄖ械母鞣N技術(shù)的全面支持,我們可以利用面向?qū)ο蠓椒ㄖ械膶?duì)象的封裝性、繼承性、多態(tài)性等特點(diǎn)使得我們開(kāi)發(fā)的應(yīng)用程序具有極大的可重用性和可擴(kuò)展性,而這一點(diǎn)正是軟件工程中對(duì)應(yīng)用程序所提出的重要目標(biāo)。在當(dāng)前,由于網(wǎng)絡(luò)技術(shù)的發(fā)展,許多種不同的操作系統(tǒng)平臺(tái)在internet網(wǎng)上同時(shí)被使用,這對(duì)開(kāi)發(fā)的應(yīng)用程序的跨平臺(tái)性提出了更高的要求,而powerbuilder就提供了良好的跨平臺(tái)性,比如在powerbuilder中,利用windows平臺(tái)
8、開(kāi)發(fā)的各種對(duì)象可以方便地應(yīng)用到unix平臺(tái)中,因?yàn)閜owerbuilder支持對(duì)象的跨平臺(tái)性。這樣使得把應(yīng)用程序從一個(gè)平臺(tái)移到另一個(gè)平臺(tái)變得并不復(fù)雜。為了給用戶(hù)提供各個(gè)方面的支持,powerbuilder具有自己的編程語(yǔ)言powerscript,這個(gè)語(yǔ)言除了提供基本的流程控制語(yǔ)句,還提供了幾百個(gè)函數(shù)來(lái)操縱各種對(duì)象和提供諸如dde,ole等方面的支持。此外我們還可以定義自己的函數(shù),處理特定的事件。學(xué)習(xí)powerbuilder時(shí)相當(dāng)一部分的時(shí)間就是用來(lái)了解和熟悉powerbuilder提供的各種函數(shù)。powerbuilder一個(gè)很大的特點(diǎn)就是提出了數(shù)據(jù)窗口對(duì)象的概念。數(shù)據(jù)窗口對(duì)象也是powerbu
9、ilder中的一種對(duì)象類(lèi)型,與其它對(duì)象不同的是數(shù)據(jù)窗口對(duì)象是專(zhuān)門(mén)為了訪(fǎng)問(wèn)后臺(tái)的數(shù)據(jù)庫(kù)服務(wù)的,在數(shù)據(jù)窗口對(duì)象中我們定義了數(shù)據(jù)的來(lái)源和數(shù)據(jù)的顯示風(fēng)格,這樣在應(yīng)用程序中我們就可以把精力完全放在程序的運(yùn)行流程控制上,而不用關(guān)心具體數(shù)據(jù)的來(lái)源,因?yàn)槲覀冊(cè)跀?shù)據(jù)窗口對(duì)象中已經(jīng)定義好了數(shù)據(jù)的來(lái)源。如果需要使用數(shù)據(jù)庫(kù)中不同的數(shù)據(jù)也只要對(duì)數(shù)據(jù)窗口對(duì)象進(jìn)行修改就可以了。特別要指出的是powerbuilder在數(shù)據(jù)窗口對(duì)象中提供了豐富的數(shù)據(jù)顯示方式,可以滿(mǎn)足各種不同的需要。 在powerbuilder較新的版本中提供了基礎(chǔ)類(lèi)庫(kù)pfc,它為應(yīng)用程序的開(kāi)發(fā)提供了許多可重用的預(yù)定義類(lèi)和對(duì)象,利用基本類(lèi)庫(kù)pfc可以快速開(kāi)發(fā)出
10、高質(zhì)量重用性好的應(yīng)用程序。真正發(fā)揮面向?qū)ο缶幊痰木薮笸?。最后要指出的是powerbuilder有三個(gè)不同的版本,分別為desktop型,professional型,和enterprise型,desktop型是為個(gè)人使用的桌面型應(yīng)用程序,在這里可以利用powerbuilder內(nèi)置的數(shù)據(jù)庫(kù)管理系統(tǒng)sybase sql anywhere來(lái)創(chuàng)建和使用本地?cái)?shù)據(jù)庫(kù),為個(gè)人的應(yīng)用服務(wù);professional型的powerbuilder最重要的一點(diǎn)就是提供了對(duì)microsoft odbc(數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)連接接口)的支持,在professional版本中我們就可以使用powerbuilder的繼承,多態(tài)等絕大多
11、數(shù)特性;在enterprise版本中最重要的一點(diǎn)就是提供了對(duì)開(kāi)發(fā)大型的數(shù)據(jù)庫(kù)應(yīng)用程序的全面的支持,提供了開(kāi)發(fā)大型應(yīng)用程序的許多輔助的工具,比如c+ class builder等第二章 系統(tǒng)流程及庫(kù)文件2.1教務(wù)管理系統(tǒng)需求分析:將通用教務(wù)管理系統(tǒng)所必備的功能歸納如下圖所示,其中每個(gè)功能都由若干相關(guān)聯(lián)的子功能模塊組成,除此之外,系統(tǒng)還應(yīng)包括信息系統(tǒng)必須具備的通用功能如:權(quán)限設(shè)置、數(shù)據(jù)備份與恢復(fù)。教務(wù)管理系統(tǒng)基礎(chǔ)數(shù)據(jù)管理教學(xué)計(jì)劃管理課程管理學(xué)籍管理教師管理注冊(cè)收費(fèi)管理排課選課管理考分管理畢業(yè)管理教材管理系統(tǒng)管理2.1.1系統(tǒng)數(shù)據(jù)流程: 如下圖所示:2.1.2 基礎(chǔ)數(shù)據(jù)管理“基礎(chǔ)數(shù)據(jù)管理”用于維護(hù)整
12、個(gè)教務(wù)管理系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù)集,以保證教系統(tǒng)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù)集,便于數(shù)據(jù)的共享使用,內(nèi)容包括入學(xué)年份、學(xué)年學(xué)期、院系數(shù)據(jù)、專(zhuān)業(yè)設(shè)計(jì)、教室情況等。如下圖所示:基礎(chǔ)數(shù)據(jù)管理基本信息專(zhuān)業(yè)代碼學(xué)期代碼學(xué)年代碼科屬部門(mén)代碼班級(jí)代碼教室代碼學(xué)歷代碼職稱(chēng)代碼教學(xué)計(jì)劃名稱(chēng)管理教師代碼管理其他基礎(chǔ)信息管理2.1.3 教學(xué)計(jì)劃管理:“教學(xué)計(jì)劃管理”用于維護(hù)學(xué)校中各系各專(zhuān)業(yè)的課程、課組計(jì)劃安排信息,作為選課和畢業(yè)審查的標(biāo)準(zhǔn),包括的功能有課程計(jì)劃登記、課和計(jì)劃審批、選課情況查詢(xún)、選課信息審批等。2.1.4 課程管理:“課程管理”用于學(xué)校所有開(kāi)設(shè)課程的情況,包括課程編號(hào)、課程名稱(chēng)、上課學(xué)時(shí)、開(kāi)課系、上
13、課教師等相關(guān)信息,功能包括課程的增加、刪除、查詢(xún)、統(tǒng)計(jì)等。學(xué)籍管理:“學(xué)藉管理”主要包括了高校學(xué)籍基本信息的錄入、查詢(xún)修改、打印輸出、維護(hù)等常用功能、并提供學(xué)號(hào)、編排、學(xué)生照片輸入與顯示、學(xué)籍變動(dòng)(留級(jí)、休學(xué)、跳級(jí)、轉(zhuǎn)班、轉(zhuǎn)學(xué)、退學(xué)等)、獎(jiǎng)懲登記、畢業(yè)情況統(tǒng)計(jì)等功能。教師管理:“教師管理”用于管理教師相關(guān)的信息,提高教學(xué)質(zhì)量,保證教學(xué)工作的高效運(yùn)行,包含的功能模塊如下圖所示:教師管理教師基本信息教師任課檔案教師獎(jiǎng)懲 檔案教師考評(píng)管理教師課時(shí)數(shù)統(tǒng)計(jì)教師進(jìn)修檔案2.1.5注冊(cè)收費(fèi)管理:“注冊(cè)收費(fèi)”用于記錄學(xué)生新學(xué)期的注冊(cè)情況,如果未注冊(cè)將記錄學(xué)生的未注冊(cè)原因及未注冊(cè)的去向?!笆召M(fèi)管理”用于記錄學(xué)生
14、開(kāi)學(xué)初的收費(fèi)情況,每個(gè)學(xué)生的收費(fèi)標(biāo)準(zhǔn)來(lái)自學(xué)生學(xué)籍信息中的收費(fèi)類(lèi)別。2.1.6排課選課管理:“排課管理”用于根據(jù)教學(xué)計(jì)劃、教師資源等,制訂每學(xué)期的課程表。2.1.7教務(wù)管理:“教務(wù)管理”用于根據(jù)課程自動(dòng)生成本學(xué)期的考試地點(diǎn)考試時(shí)間監(jiān)考老師等數(shù)據(jù),并對(duì)考試的過(guò)程和結(jié)果進(jìn)行監(jiān)控,包含的功能模塊如下圖所示?!敖虅?wù)信息發(fā)布”用于發(fā)布教務(wù)信息,如學(xué)年,學(xué)期,期中(期未)考試,考試時(shí)間等,以及其他一些有關(guān)事務(wù)的事項(xiàng)。、“考試日程安排”用于管理考試日期,時(shí)間,考試科目,考試班級(jí),監(jiān)考教師/,考場(chǎng)等信息。“評(píng)卷安排”用于對(duì)評(píng)卷專(zhuān)業(yè),評(píng)卷科目,評(píng)卷教師,評(píng)卷教師,評(píng)卷日期,時(shí)間等評(píng)卷信息進(jìn)行管理?!翱紙?chǎng)情況記錄”
15、用于考場(chǎng)情況進(jìn)行管理,如考試班級(jí),考試科目,應(yīng)考人數(shù),實(shí)到人數(shù),違紀(jì)記錄情況等?!俺煽?jī)錄入”用于授課教師輸入學(xué)生的考試成績(jī)?!把a(bǔ)考成績(jī)錄入”用于授課教師輸入學(xué)生的補(bǔ)考考試成績(jī)?!把a(bǔ)考通知單”用于教務(wù)處依據(jù)班級(jí),個(gè)人,課程進(jìn)行不及格統(tǒng)計(jì),并打印出學(xué)生的補(bǔ)考通知單?!鞍嗉?jí)成績(jī)單”用于以班級(jí)為單位,打印該班級(jí)所開(kāi)設(shè)課程的每個(gè)學(xué)生的成績(jī),送教務(wù)處存檔用??紕?wù)管理考務(wù)信息發(fā)布考試日程安排評(píng)卷安排考場(chǎng)情況記錄學(xué)生成績(jī)錄入補(bǔ)考成績(jī)錄入補(bǔ)考通知單班級(jí)成績(jī)單2.1.8畢業(yè)管理:“畢業(yè)管理”用于對(duì)學(xué)生畢業(yè)進(jìn)行處理,同時(shí)對(duì)畢業(yè)信息,學(xué)位授予,證書(shū)授予及校友信息等進(jìn)行管理,包含的功能模塊如下圖所示。“技能管理”用于對(duì)
16、學(xué)生在校期間獲得的資格證書(shū)進(jìn)行存檔,有利于提高學(xué)生的綜合素質(zhì)。“實(shí)習(xí)管理”用于記錄學(xué)生在校期間的實(shí)習(xí)情況。“論文管理”用于記錄學(xué)生的畢業(yè)論文情況,供日后查詢(xún)或借鑒?!爱厴I(yè)審核”用于根據(jù)學(xué)生所在系所,專(zhuān)業(yè)的教學(xué)計(jì)劃,選課成績(jī)和學(xué)籍來(lái)審查來(lái)審查該生是否具備畢業(yè)資格?!爱厴I(yè)管理”用于記錄學(xué)生畢業(yè)信息,包括畢業(yè)證書(shū)號(hào),工作去向等。2.1.9教材管理: “教材管理”用于對(duì)教材庫(kù)存,教材計(jì)劃,教材預(yù)訂,班級(jí)預(yù)收款,教材采購(gòu)及教材銷(xiāo)售等工作進(jìn)行有效管理,包含的功能模塊如下圖所示。教材管理教材信息設(shè)置開(kāi)課教材設(shè)置教材計(jì)劃庫(kù)存管理教材采購(gòu)教師領(lǐng)書(shū)說(shuō)明:說(shuō)了一下需求分析,由于本人掌握基礎(chǔ)有限,另外還有本系統(tǒng)的關(guān)系
17、復(fù)雜性,并沒(méi)有全部開(kāi)發(fā),只開(kāi)發(fā)了其中子部分,望老師包涵。下面把本系統(tǒng)的所有功能作成流程圖,讓讀者明確本系統(tǒng)的所有功能:教務(wù)管理系統(tǒng)退出系統(tǒng)維護(hù)教務(wù)管理報(bào)表統(tǒng)計(jì)基礎(chǔ)信息查詢(xún)退出系統(tǒng)成績(jī)輸出打印成績(jī)單系部信息查詢(xún)班級(jí)信息查詢(xún)學(xué)生信息查詢(xún)課程信息查詢(xún)?cè)盒B毠げ樵?xún)學(xué)生選課課表查詢(xún)成績(jī)輸入班級(jí)信息系部信息維護(hù)維護(hù)學(xué)生信息維護(hù)系統(tǒng)維護(hù)課程信息維護(hù)院校信息查詢(xún)用戶(hù)登錄維護(hù)2.2教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)分析:建立本系統(tǒng)所使用基礎(chǔ)數(shù)據(jù)的關(guān)鍵表,如下圖所示: 用戶(hù)表(在數(shù)據(jù)庫(kù)中為youghu )字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明yhmcchar(10)not null用戶(hù)名稱(chēng)yhmmchar(10)not null用戶(hù)密碼 班
18、級(jí)信息表 (在數(shù)據(jù)庫(kù)中為j_bjxxb) 字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明bjbkchar(14)not null班級(jí)編號(hào)(主關(guān)鍵字)njchar(4)not null年級(jí)bjmcchar(30)not null班級(jí)名稱(chēng)bjjcchar(16)not null班級(jí)簡(jiǎn)稱(chēng)rsint (3,0)not null人數(shù)bjint(10)null班級(jí)學(xué)生信息表(在數(shù)據(jù)庫(kù)中為j_xsxxb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明xhchar(14)not null學(xué)號(hào)(主關(guān)鍵字) xmchar(8)not null姓名bjbhchar(14)not null班級(jí)編號(hào)(外鍵班級(jí)信息表)xbchar(2)not null性別nj
19、int(2)not null班級(jí)zzmmbhint(10)not null政治面貌編號(hào)(外鍵政治面貌表)mzbhint(10)not null民族編號(hào)(外鍵民族代碼表)jgbhint(10)not null籍貫編號(hào)(外鍵籍貫代碼表)sfzhint(18)not null身份證號(hào)xjbhint(10)not null學(xué)籍編號(hào)(外鍵學(xué)籍代碼表) 課程信息表(在數(shù)據(jù)庫(kù)中為j_kcxxb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明kcbhint(10)not null課程編號(hào)(主關(guān)鍵字)kcmcchar(40)not null課程名稱(chēng)kcjcchar(40)not null課程間稱(chēng)pymint(10)not null
20、拼音碼bxqkcchar(2)not null本學(xué)期課程jschar(10)not null教師kkxbchar(30)not null開(kāi)課系別xfint (100)not null學(xué)分 課程表(在數(shù)據(jù)庫(kù)中為j_kcb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明bhint(10)not null編號(hào)(主關(guān)鍵字)kxhchar(14)not null課序號(hào)kcbhint(10)not null課程編號(hào)(外鍵課程信息表)sksjtint(5)not null上課時(shí)間天sksjjint(2)not null上課時(shí)間節(jié)skddchar(20)not null上課地點(diǎn) 選課表(在數(shù)據(jù)庫(kù)中為j_xkb)字段名數(shù)據(jù)類(lèi)型是否
21、為空說(shuō)明bhchar(10)not null編號(hào)(主關(guān)鍵字)xhchar(14)not null學(xué)號(hào)kxhchar(14)not null課序號(hào) 成績(jī)表(在數(shù)據(jù)庫(kù)中為j_cjb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明bhchar(10)not null編號(hào)(主關(guān)鍵字)xh char(14)not null學(xué)號(hào)(外鍵學(xué)生信息表)kcbhint(14)not null 課程編號(hào)(課程信息表)cjint (2)not null成績(jī)ksjsint(2)not null考試次數(shù)sfbxint(2)not nul是否補(bǔ)修jfbkchar(2)not null 是否補(bǔ)考 學(xué)籍代碼表(本數(shù)據(jù)庫(kù)叫作j_xjdmb)字段名數(shù)
22、據(jù)類(lèi)型是否為空說(shuō)明xjbhchar(2)not null學(xué)籍編號(hào)(主關(guān)鍵字)xjdmchar(8)not null學(xué)籍名稱(chēng) 政治面貌表(在本數(shù)據(jù)庫(kù)中為j_zzmmb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明zzmmbhchar(14)not null政治面貌編號(hào)(主關(guān)鍵字)zzmmchar(14)not nul政治面貌 民族代碼表(在本數(shù)據(jù)庫(kù)中為j_mzdmb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明mzbhchar(2)not null民族編號(hào)(主關(guān)鍵字)mzchar(2)not null民族 籍貫代碼表(在本數(shù)據(jù)庫(kù)中為j_jgdmb)字段名數(shù)據(jù)類(lèi)型是否為空說(shuō)明jgbhchar(2)not null籍貫編號(hào)(主關(guān)鍵字)
23、jgchar(30)not null籍貫新建access數(shù)據(jù)庫(kù)步首先建立表本系統(tǒng)需要的表(如圖所示):第三章 程序開(kāi)發(fā)3.1 登錄窗口布置 3.1.1 登錄界面 1點(diǎn)擊開(kāi)始|程序|sybase|powerbuilder9.0打開(kāi)系統(tǒng)主窗體,進(jìn)入pb程序設(shè)計(jì)界面,點(diǎn)擊filenew命令,打開(kāi)一個(gè)選項(xiàng)卡,建立本軟件的工作區(qū)間:2點(diǎn)擊ok按鈕,設(shè)置 workspace工作區(qū)間的名字為:j_jwglxt(教務(wù)管理系統(tǒng)的縮寫(xiě)),再點(diǎn)擊新建按鈕,在target選項(xiàng)卡,選中applicaton按鈕,點(diǎn)擊ok 并起名為j_jwglxt(與上一個(gè)擴(kuò)展名是不相同的)。3此時(shí)已建立了工作區(qū)間和application
24、 ,下面建一個(gè)窗體并保存名為j_main即為系統(tǒng)的登錄界面,登錄界面如下圖所示。4.在數(shù)據(jù)庫(kù)連接時(shí),進(jìn)入登錄界面(五福娃_falsh),有時(shí)候需要很長(zhǎng)的一段時(shí)間,所以在這里安排一個(gè)flash窗口,使軟件使用者在等待連接數(shù)據(jù)庫(kù)的枯燥的時(shí)間里制作一個(gè)動(dòng)畫(huà)窗口,使使用者不在等不急,心情快樂(lè)舒暢! (如圖為登錄界面) ( 如圖:建立flash窗口) 用戶(hù)在登錄窗口進(jìn)入主菜單前的屬性值和進(jìn)入“登錄”按鈕的clicked!事件代碼:j_main窗體的屬性設(shè)置:控件類(lèi)型對(duì)象名屬性說(shuō)明windowj_miantitle教務(wù)管理系統(tǒng)singlelinesle_1textnullsinglelinesle_2te
25、xtnullrichboxrb_1text登錄richboxrb_1text退出在“登錄”的clicked事件中加入以下代碼: 單擊窗中下方 標(biāo)簽,定入實(shí)例變量boolean user_auth,login_name在單擊layout標(biāo)簽輸入:open(j_falsh) /打開(kāi)falsh窗口 / profile eas demo db v9sqlca.dbms = odbcsqlca.autocommit) = falsesqlca.dbparm = connectstring=dsn=eas demo db v9;uid=dba;pwd=sqlif sqlca.sqlcode0 then m
26、essagebox(“提示”, “連接數(shù)據(jù)庫(kù)失敗!請(qǐng)重新連接或檢查是否正確!”) returnend if connect;string passint countlogin_time=0login_time =login_time+1if login_time 3 then select count(*) into :count from youhu where yhmc=:sle_1.text;if count=0 then messagebox(“提示”, “用戶(hù)名不正確,請(qǐng)重新輸入!”) sle_info.textcolor=red /使文本框變成紅色 if login_time3 t
27、hen messagebox(“提示”, “用戶(hù)名不正確,請(qǐng)重新輸入!”) sle_1.text=“” sle_2.text=“” sle_1.setfocus( )else messagebox(“提示”,你無(wú)權(quán)使用本軟件,謝謝!) close(parent)end if elseselect yhmm into:pass from youghu where yhmc=:sle_1.text;if sle_2.text =pass then sle_info.textcolor=green user_auth=true login_name=sle_1.text open(j_main) c
28、lose(j_falsh)else messagebox(“提示”, “密碼不正確,請(qǐng)重試!”) sle_info.textcolor=red if login_time3 then sle_info.text=“密碼不正確,請(qǐng)重新輸入!” close(j_falsh) end if end if end if end if 在“退出”按鈕的clicked事件中加入代碼: close(parent)3.1.2創(chuàng)建系統(tǒng)主菜單: 選擇file|new菜單命令,的彈出的對(duì)話(huà)框中,選中pb object選項(xiàng)卡,然后選擇menu對(duì)象,單擊ok按鈕,創(chuàng)建一個(gè)菜單名為j_menu,如下圖所示:3.2 基礎(chǔ)信
29、息查詢(xún)3.2.1 系部信息查詢(xún)界面:1依次打開(kāi)其他代碼打開(kāi)表單窗口(如下圖所示): 在窗體w_xbxx中定義實(shí)例變量: integer il_row,il_rowcount /當(dāng)前行和記錄總數(shù) string is_sql, /數(shù)據(jù)窗口的dw_1原始語(yǔ)法2在窗體中打開(kāi)open事件并加入以下代碼,將數(shù)據(jù)窗口連接到數(shù)據(jù)庫(kù),并得到數(shù)據(jù)窗口dw_1的原始語(yǔ)法,為后面查詢(xún)作準(zhǔn)備。 (如圖為創(chuàng)建系部信息查詢(xún)的數(shù)據(jù)窗口) dw_1.settransobject(sqlca) /連接數(shù)據(jù)庫(kù) is_sql=dw_1.getsqlselect /得到數(shù)據(jù)窗口原始語(yǔ)法3在dw_1中clicked事件中加入代碼(下面的
30、代碼的作用是控制在數(shù)據(jù)數(shù)據(jù)窗口每一次選中的都是行): if row=0 then return if dw_1.isselected(row)=false then dw_1.selectrow(row,true) else dw_1.selectrow(row,false) end if return 1在查詢(xún)命令按鈕單擊(clicked)事件加入代碼: string ls_select,ls_xbbhinteger ls_xbmcls_xbbh=trim(sle_1.text)ls_xbmc=trim(sle_2.text)ls_select =”if not isnull(ls_xbbh
31、) and sl_xbbh ” then ls_xbbh=”%”+sl_xbbh+”%” ls_select=ls_select+”系部編號(hào) like”+ls_xbbh+”end ifif not isnull(sl_xhmc) and ls_xbmc” then ls_xbmc=”%”+ls_xbmc+”%” ls_select=ls_select+”系部名稱(chēng) like”+ls_xbmc+”end ifif ls_select “” then ls_select=is_sql+”where” +ls_select else ls_select=is_sqlend if dw_1.setsql
32、select(ls_select)il_row=dw_1.retrieve()3.2.2班級(jí)信息查詢(xún): 如下圖所示圖片:1 在選擇file|new菜單命令,建立一個(gè)新的窗體,保存名為j_bjxx,在窗體的open事件中加入以下代碼: dw_1.settransobject(sqlca) /連接數(shù)據(jù)庫(kù) is_sql=dw_1.getsqlselect /得到數(shù)據(jù)窗口原始語(yǔ)法2 在dw_1中clicked事件中加入代碼: if row=0 then return if dw_1.isselected(row)=false then dw_1.selectrow(row,true) else dw_
33、1.selectrow(row,false) end if return 1 /控制在數(shù)據(jù)數(shù)據(jù)窗口每一次選中的都是行3 在窗體中的查詢(xún)的clicked中加入代碼:string ls_select,ls_bjbh,ls_nj,ls_njmcls_bjbh=trim(sle_1.text)ls_nj=trim(sle_2.text)ls_njmc=trim(sle_3.text)ls_select=”if not isnull(ls_bjbh) and ls_bjbh” then ls_bjbh=”%”+ls_bjbh+”%” ls_select=ls_select+”班級(jí)編號(hào) like”+ls_
34、bjbj+”end if if not isnull(ls_nj) and ls_nj” then ls_nj=”%”+ls_nj+”%” if ls_select =” then ls_select=”年級(jí) like”+ls_nj+” else ls_select=ls_select+”and 年級(jí) like”+ls_nj” end ifend if if not isnull(ls_njmc) and ls_njmc” then ls_njmc=”%”+ls_njmc+”%” if ls_select=” thenls_select=”班級(jí)名稱(chēng) like”+ls_njmc+”else ls
35、_select=ls_select+”and 班級(jí)名稱(chēng) like”+ls_njmc+”end if end if / 獲得sql的原始語(yǔ)法if ls_select ” then ls_select=is_sql+”where”+ls_selectelse ls_select=is_sqlend if dw_1.setsqlselect(ls_select) /重新連接數(shù)據(jù)庫(kù) il_rowcount =dw_1.retrieve( ) /重新檢索數(shù)據(jù)3.2.3學(xué)生信息查詢(xún): 1新建一個(gè)窗體保存名為j_xsxx,其如圖所示: 2在窗體的open事件中加入以下代碼: dw_1.settransobj
36、ect(sqlca) /連接數(shù)據(jù)庫(kù) is_sql=dw_1.getsqlselect /得到數(shù)據(jù)窗口原始語(yǔ)法 3在dw_1中clicked事件中加入代碼: if row=0 then return if dw_1.isselected(row)=false then dw_1.selectrow(row,true) else dw_1.selectrow(row,false) end if return 1 /控制在數(shù)據(jù)數(shù)據(jù)窗口每一次選中的都是行 4在窗體中的查詢(xún)的clicked中加入代碼:string ls_select,ls_xh,ls_xminteger li_njls_xh=trim(
37、sle_1.text)ls_nj=integer(trim(sle_2.text)ls_xm=trim(sle_3.text)ls_select=”if not isnull(ls_xh ) and ls_xh ” then ls_xh =”%”+ls_xh+”%” ls_select=ls_select +”學(xué)號(hào) like”+ls_xh+”end if if not isnull(ls_xm) and ls_xm” then ls_xm=”%”+ls_xm+”%” if ls_select =” then ls_select=”姓名 like”+ls_xm+” else ls_select=
38、ls_select+”and 姓名 like”+ls_xm+” end if end if if not isnull(li_nj) and li_nj0 then if ls_select=” then ls_select=”年級(jí)=”+string(li_nj) else ls_select=ls_select+”and 年級(jí)=”+string(li_nj) end if end if if ls_select=” then ls_select=is_sql+”where”+ls_select else ls_select=is_sql end if dw_1.setsqlselec(ls_
39、select)il_rowcount=dw_1.retrieve()3.2.4院校職工查詢(xún)和課程信息查詢(xún):1新建一個(gè)窗體保存名為j_yxzg,其如圖所示: 2在窗體的open事件中加入以下代碼: dw_1.settransobject(sqlca) /連接數(shù)據(jù)庫(kù) is_sql=dw_1.getsqlselect /得到數(shù)據(jù)窗口原始語(yǔ)法3. 在dw_1中clicked事件中加入代碼: if row=0 then return if dw_1.isselected(row)=false then dw_1.selectrow(row,true) else dw_1.selectrow(row,fa
40、lse) end if return 1 /控制在數(shù)據(jù)數(shù)據(jù)窗口每一次選中的都是行4.在窗體中的查詢(xún)的數(shù)據(jù)窗口的open事件中加入代碼:string ls_select,ls_kcmc,ls_pyminteger li_kcbhli_kcbh=integer(trim(sle_1.text) ls_kcmc=trim(sle_2.text) ls_pym=trim(sel_3.test) ls_select=” if not isnull(li_kcbh) and libh0 then ls_select=ls_select+”課程=”+string(li_kcbh) end if if not
41、 isnull(ls_kcmc) and ls_kcmc” then ls_kcmc=”%”+ls_kcmc +”%” if ls_select=” then ls_select=”課程名稱(chēng) like”+ls_kcmc+” else ls_select=ls_select+”and 課程名稱(chēng) like”+ls_kcmc+” end if end if dw1.setsqlselect(ls_select)il_rowcount=dw_1.retrieve( ) 3.3 教務(wù)管理3.3.1 學(xué)生選課:如下圖所示: 1 把sle_xm,sle_nj,r displayonly屬性改為true ,由
42、于實(shí)例變量在前面的窗口已經(jīng)定義。在后面的窗口中可以直接引用。但根據(jù)后面的需要,也可以定義自己的變量。 string is_sqlchild,is_status2 學(xué)生選課就是學(xué)生根據(jù)學(xué)生自己的需要,選擇學(xué)習(xí)一些學(xué)習(xí)的課程,程序中需要控制學(xué)生后面的選擇的課程時(shí)間不能跟前面選課的時(shí)間有時(shí)間沖突。3 在文框 sle_xh 輸入內(nèi)容顯示學(xué)生的姓名,年級(jí),并得到學(xué)生的選課情況。string ls_bh,ls_xm,ls_xjbhls_xh=trim(sle_xh.text)select xsxx.xm,xsxx.nj,xsxx.xjbh into :ls_xm,:ls_nj,:ls_xjbh from
43、xsxx where xh=:ls_xh;if ls_xjbh”1” then /不是在籍學(xué)生,不能選擇 messagebox(“提示”,”不是在籍的學(xué)生!”) sle_xh.text=” returnend if sle_xm.text=ls_xmsle_nj.text=string(li_nj)dw_1.retrieve(ls_xh) 4. j_xsxk的打開(kāi)事件(open): dw_1.settransobject(sqlca) dw_2.settransobject(sqlca) is_sql=dw_1.getsqlselect is_sqlchild=dw_2.getsqlselec
44、t()5. 在窗口自定事件 ue_query ,在程序中查詢(xún)課程信息的很多條件,有課程拼音、課程名稱(chēng)、課程編號(hào)、課程序號(hào),無(wú)論在哪個(gè)條件文本框中輸入條件后,單擊回車(chē)鍵系統(tǒng)都會(huì)自動(dòng)查詢(xún)課程信息。如果什么都有確認(rèn),則查詢(xún)所有的課程信息,因此將在自定義事件中加入以下代碼,用于查詢(xún)數(shù)據(jù)窗口dw_2中的課程信息。 string ls_kcpy,ls_kcnc,ls_kcnc,ls_kcbh,ls_kcxh string ls_select ls_kcpy=trim(sle_kcpy.text) ls_kcmd=trim(sle_kcmc.text) ls_kcbh=trim(sle_kcbh.text)
45、 ls_kcxh=sle_kcxh.text ls_select=” if not isnull(ls_kcpy) and ls_kcpy” then ls_kcpy=”%”+ls_kcpy+”%” ls_select=ls_select+”kcxx.pym like”+ls_kcpy+” end if if not isnull(ls_kcmc) and ls_kcmc” then ls_kcmc=”%”+ls_kcmc+”%” if ls_select=” then ls_select=ls_select+”kcxx.kcmc like”+ls_kcmc+”else ls_select=ls_select+”kcxx.kcmc like”+ls_kcmc+” end if end if if not isnull(ls_kcbh) and ls_kcbh ” then
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 密紋唱片產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 螺旋傘齒輪研磨機(jī)項(xiàng)目營(yíng)銷(xiāo)計(jì)劃書(shū)
- 圖書(shū)架產(chǎn)品供應(yīng)鏈分析
- 穿眉孔器械項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 員工遷移的商業(yè)管理服務(wù)行業(yè)經(jīng)營(yíng)分析報(bào)告
- 藥品信息頁(yè)印刷品項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 建筑物熏蒸殺蟲(chóng)處理行業(yè)營(yíng)銷(xiāo)策略方案
- 家用視頻游戲機(jī)用電池充電器產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 禮品包裝用紙制蝴蝶結(jié)項(xiàng)目營(yíng)銷(xiāo)計(jì)劃書(shū)
- 磨床金屬加工市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 電梯日管控、周排查、月調(diào)度制度及管控清單
- 人教PEP版三年級(jí)英語(yǔ)上冊(cè)單元詞匯課件 Unit 3
- 多重耐藥菌 課件
- 2024年《經(jīng)濟(jì)學(xué)基礎(chǔ)》復(fù)習(xí)考試復(fù)習(xí)題庫(kù)(含答案)
- 黑龍江省齊齊哈爾市2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)6
- 高中 思想政治 必修1 第二課 只有社會(huì)主義才能救中國(guó)《課時(shí)2 社會(huì)主義制度在中國(guó)的確立》課件
- 2025年廣東省春季高考學(xué)業(yè)水平考試數(shù)學(xué)試卷試題(含答案解析)
- 2024年觀光型酒店項(xiàng)目發(fā)展計(jì)劃
- ??谑猩鐓^(qū)體育公共服務(wù)現(xiàn)狀調(diào)查分析
- 專(zhuān)業(yè)教學(xué)資源庫(kù)備選項(xiàng)目材料-測(cè)繪地理信息技術(shù)建設(shè)方案
- 3000道兩位數(shù)進(jìn)位退位加減法題1
評(píng)論
0/150
提交評(píng)論