版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
教學(xué)標(biāo)準(zhǔn)管理系統(tǒng)的設(shè)計與實現(xiàn)軟件技術(shù)西北大學(xué)繼續(xù)教育學(xué)院成人高等教育畢業(yè)論文題目:教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)指導(dǎo)教師:學(xué)生姓名:學(xué)號:專業(yè):軟件技術(shù)年級:2011級學(xué)歷層次:??茖W(xué)歷形式:函授完成時間:二0年月日摘要隨著全球信息化的飛速發(fā)展,信息網(wǎng)絡(luò)在人們的日常生活中已占據(jù)了十分重要的地位。以往面對面的教學(xué)方式已顯然不能滿足現(xiàn)在社會的需要,逐漸也開始把信息化引入教育領(lǐng)域中,從而打破了孔家和時間的限制,為老師和學(xué)生提供了更加便捷的途徑。目前我校的教學(xué)資源庫,具有海量的、無序的、共享性差的特點,導(dǎo)致了他的利用率也相當(dāng)?shù)牡?。各個院系都有各自的教學(xué)資源庫,又導(dǎo)致了資源庫的重復(fù)建設(shè),造成了人力、物力、財力的嚴(yán)重浪費??紤]到以上存在的問題,本文研究并設(shè)計了一套基于Web的網(wǎng)絡(luò)教學(xué)資源管理系統(tǒng),本系統(tǒng)中教師可以通過網(wǎng)絡(luò)教授學(xué)生知識,給學(xué)生布置作業(yè),完成網(wǎng)上批閱學(xué)生提交的作業(yè),實現(xiàn)部分網(wǎng)絡(luò)教學(xué)工作;學(xué)生可以通過網(wǎng)絡(luò)學(xué)習(xí),在網(wǎng)上查看并完成老師布置的作業(yè),可查看本系統(tǒng)中提供的教學(xué)資源,歲時隨思利用網(wǎng)絡(luò)在線學(xué)習(xí),提高學(xué)習(xí)效率。另一方面我們集中收集并規(guī)范我校內(nèi)部各個學(xué)院零散的教學(xué)資源,充分發(fā)揮本系統(tǒng)教學(xué)資源可以共享的優(yōu)勢。該系統(tǒng)的開發(fā)研制彌補了傳統(tǒng)教學(xué)方式中的不足之處,同時減輕了我校管理人員在教學(xué)資源管理工作中的壓力,有效的提高教學(xué)質(zhì)量。本文首先接受了網(wǎng)絡(luò)教學(xué)及教學(xué)資源的發(fā)展背景和現(xiàn)狀并對教學(xué)資源管理系統(tǒng)的必要性、可行性進(jìn)行了分析。根據(jù)教師、學(xué)生、教輔人員給出的需求分析,確定了系統(tǒng)所應(yīng)具有的基本功能。采用B/S模式和當(dāng)前流行的JSP技術(shù)對系統(tǒng)進(jìn)行開發(fā),然后根據(jù)需求分析設(shè)計出系統(tǒng)的總體結(jié)構(gòu)及分析了各個子系統(tǒng)的具體功能,并給出了系統(tǒng)部分界面和實現(xiàn)的部分代碼。最后對論文做了總結(jié)并對該系統(tǒng)的進(jìn)一步研究做了展望,明確了下一步的工作和目標(biāo)。該系統(tǒng)經(jīng)過測試運行,基本達(dá)到了預(yù)期目標(biāo)。隨著軟件技術(shù)的不斷發(fā)展和教學(xué)需要,本系統(tǒng)也為以后的不斷更新升級留有空間。我相信本系統(tǒng)在我校的教學(xué)工作和管理工作中都能起到較高的實用價值和較好的應(yīng)用前景。關(guān)鍵詞:教學(xué)資源管理系統(tǒng),B/S模式,SQLServer2005,查詢目錄前言 1第1章背景、目的及概述 2 2 2 2 2第2章需求分析 3 3 3 4第3章概念結(jié)果設(shè)計 5 5第4章邏輯結(jié)構(gòu)設(shè)計 8E-R圖的轉(zhuǎn)換 8 9第5章主要模塊的設(shè)計以及代碼 10 11、教師、學(xué)生模塊設(shè)計 14 27 27第6章預(yù)測結(jié)果 29 29 29 29 29 29結(jié)束語 31致謝 32參考文獻(xiàn) 33前言教學(xué)管理是學(xué)校運作的中心樞紐,教學(xué)管理的質(zhì)量直接關(guān)系到一所高校在當(dāng)代社會競爭中的地位甚至生存與發(fā)展。當(dāng)今時代,計算機信息處理技術(shù)的廣泛應(yīng)用,為高校教學(xué)管理提供了有力手段。一所高等學(xué)校要走在時代的先進(jìn)行列,實現(xiàn)教學(xué)管理工作的現(xiàn)代化和科學(xué)化,其關(guān)鍵就在于要運用現(xiàn)代網(wǎng)絡(luò)信息技術(shù)建立計算機教學(xué)管理系統(tǒng),實現(xiàn)管理的電腦化。教學(xué)工作在學(xué)校的發(fā)展和建設(shè)中占有重要地位。教學(xué)管理水平的高低,在某種程度上反映了一所學(xué)校管理水平的整體狀況。他與學(xué)校工作的其他方面有著密切的聯(lián)系,對學(xué)校的教學(xué)工作、思想工作、管理工作、建設(shè)工作、教育改革以及教育方針的貫徹執(zhí)行等產(chǎn)生重要作用與影響,而這一系列的工作有影響到整個學(xué)校的發(fā)展進(jìn)程。在當(dāng)前的形勢下,隨著社會的不斷進(jìn)步與發(fā)展,教育的現(xiàn)代化、規(guī)范化和管理現(xiàn)代化的步伐也不斷加快。教育的現(xiàn)代化要求教學(xué)工作也應(yīng)當(dāng)現(xiàn)代化、規(guī)范化。管理現(xiàn)代化既包括管理思想、管理體制的現(xiàn)代化,也包括管理方法、管理手段的現(xiàn)代化。建立教學(xué)管理信息系統(tǒng),加強計算機技術(shù)在高校教學(xué)管理中的應(yīng)用,必將使高校教學(xué)管理工作更加科學(xué)化、規(guī)范化、現(xiàn)代化,從而大大提高高校教學(xué)管理水平。第1章背景、目的及概述隨著科學(xué)技術(shù)、管理方法的不斷進(jìn)步,傳統(tǒng)的方式、方法和手段已經(jīng)不能適應(yīng)現(xiàn)代化管理的需要,作為培養(yǎng)高質(zhì)量合格人才為宗旨的高等學(xué)校,總是走在科技的最前沿,教學(xué)管理的計算機化已成為高校管理現(xiàn)代化、決策科學(xué)化的一個重要環(huán)節(jié),是開創(chuàng)教學(xué)管理工作新局面的必由之路。教學(xué)管理系統(tǒng)是一個輔助學(xué)校教務(wù)人員完成日常工作中,涉及學(xué)籍管理、教師管理、課程管理和成績管理等項目的日常比較繁重的工作。它應(yīng)用計算機在數(shù)據(jù)處理和數(shù)據(jù)整理保存方面的優(yōu)異性能,幫助工作人員提高工作的效率、減少出錯情況。同時還能提供快速的查詢檢索功能。本系統(tǒng)的設(shè)計旨在實現(xiàn)管理員、教師以及學(xué)生對信息的查詢、修改以及更新提供便利性。教學(xué)管理系統(tǒng)是一個輔助學(xué)校教務(wù)人員完成日常工作中,涉及教師管理、課程管理和成績管理等項目的日常比較繁重的工作。它應(yīng)用計算機在數(shù)據(jù)處理和數(shù)據(jù)整理保存方面的優(yōu)異性能,幫助工作人員提高工作的效率、減少出錯情況。本系統(tǒng)做成了C/S模式,本系統(tǒng)的登陸模塊提供了遠(yuǎn)程連接數(shù)據(jù)庫的方法,以及不同的登陸模式管理員、教師、學(xué)生),不同的登陸權(quán)限對應(yīng)著可以實現(xiàn)操作功能是有區(qū)別的。經(jīng)過思考和選擇,C#來實現(xiàn)本系統(tǒng)。第2章需求分析本次系統(tǒng)設(shè)計主要需要的信息如下所示,這些信息都是以表的形式存在數(shù)據(jù)庫中,當(dāng)需要輸入、刪除、修改等信息時可以通過執(zhí)行SQL語句來實現(xiàn)。1、學(xué)生信息:學(xué)號、姓名、性別、出生日期、入學(xué)成績、所在系號2、教職工信息:職工號、姓名、性別、出身年月、所在系號、職稱、專業(yè)及教學(xué)方向3、系的基本信息:系號、系名稱、系的簡介4、課程信息:課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間5、成績信息:學(xué)號、課程號、平時成績、考試成績、總評成績1、學(xué)生基本信息管理新生信息錄入、學(xué)生信息修改:按學(xué)號查詢出某學(xué)生的信息并做信息修改。學(xué)生轉(zhuǎn)學(xué)(轉(zhuǎn)入和轉(zhuǎn)出),學(xué)生畢業(yè)等。畢業(yè)和轉(zhuǎn)學(xué)的學(xué)生有關(guān)信息存儲到歷史庫中。2、系基本信息管理:系的基本信息輸入、修改、刪除3、課程信息管理:課程信息的輸入、修改、刪除4、教職工信息管理:教職工信息的輸入、修改、刪除5、選課管理:每學(xué)期所選課程的學(xué)分不能超過15分、學(xué)生可以同時選修一門或多門課程、可以同時為多個學(xué)生選修某一門或某幾門課程、刪除和修改選課信息。6、成績管理:按課程輸入和修改成績、按學(xué)生輸入和修改成績。7、信息查詢:按學(xué)號、姓名、系號查詢學(xué)生基本信息。按職工號、姓名、系號查詢教職工基本信息。按系號、系名稱查詢系的基本信息。按課程號、課程名稱、上課教師姓名查詢課程基本信息。按學(xué)號、學(xué)生姓名、課程號、課程名稱、上課教師姓名、系號查詢學(xué)生成績,內(nèi)容包括課程基本情況。若查詢涉及多門課程,則按課程分組。每門課程按總評成績從高分到低分給出選修該門課程的所有學(xué)生的成績(平時成績、考試成績和總評成績)。8、統(tǒng)計報表成績登記表,內(nèi)容包括課程基本信息(課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間)、選課學(xué)生名單(學(xué)號、姓名、性別),每個學(xué)生的平時成績(空格)、考試成績(空格)和總評成績(空格),按學(xué)號排序:順序輸出所有課程的成績登記表。按課程號、課程名稱、教師姓名輸出對應(yīng)課程的成績登記表。按系號輸出對應(yīng)課程的成績登記表(本系所有教師擔(dān)任的課程)。成績報表,內(nèi)容包括課程基本信息(課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間),選課學(xué)生名單(學(xué)號、姓名、性別),每個學(xué)生的平時成績、考試成績和總評成績,>=90分、>=80分、、>=70分、>=60分及不及格學(xué)生的人數(shù)及比例,按學(xué)號排序:順序輸出所有課程的成績報表。(報表格式自己訂制,可以參考學(xué)校的系統(tǒng)的輸出格式)按課程號、課程名稱、教師姓名輸出對應(yīng)課程的成績報表。按系號輸出對應(yīng)課程的成績報表(本系所有教師擔(dān)任的課程)。在數(shù)據(jù)庫中,各個表之間是有聯(lián)系的,它們存在著參照完整性,在刪除數(shù)據(jù)時,要考慮到一個表中的數(shù)據(jù)刪除的同時也要刪除另一個表中對應(yīng)的數(shù)據(jù)項。第3章概念結(jié)果設(shè)計E-R圖設(shè)計:E-R圖中實體有:教師、學(xué)生、系部、課程實體屬性學(xué)生:學(xué)號、姓名、性別、出生日期、入學(xué)成績、所在系號教師:職工號、姓名、性別、出身年月、所在系號、職稱、專業(yè)及教學(xué)方向系:系號、系名稱、系的簡介課程:課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間其中各個之間的關(guān)系如下:學(xué)生可以選多個課程,一個課程可以被多個學(xué)生選修。學(xué)生存在一個系中,一個系可以存在多個學(xué)生。一個教師可以教多個課程,一個課程可以被多個教師教。一個教師只能在一個系中,一個系中可以有多個教師。學(xué)生:學(xué)生學(xué)生學(xué)號姓名性別出生日期所在系號入學(xué)成績圖3-1學(xué)生關(guān)系教師:教師教師職工號姓名性別出生日期職稱所在系號專業(yè)及教學(xué)方向圖3-2教師關(guān)系系:系信息系信息系號系名系簡介圖3-3系關(guān)系課程:課程課程課程號課程名教師號學(xué)時上課時間學(xué)分上課地點考試時間圖3-4課程關(guān)系全局E-R圖:學(xué)生學(xué)生系教師課程選課系/教學(xué)/系課教mnn11nnm圖3-5學(xué)生課程系教師E-R圖第4章邏輯結(jié)構(gòu)設(shè)計E-R圖的轉(zhuǎn)換表一覽:Account(用戶登錄表)、Course(課程表)、Student(學(xué)生表)、Teacher(教師表)、Dept(系表)、Grades(成績表)。表結(jié)構(gòu):1、Account(用戶登錄表)圖4-1用戶登錄2、Course(課程表)圖4-2課程3、Student(學(xué)生表)圖4-3學(xué)生4、Teacher(教師表)圖4-4教師5、Dept(系表)圖4-5系6、Grades(成績表)圖4-6成績數(shù)據(jù)安全性設(shè)計:用戶權(quán)限的劃分??傮w設(shè)計時分為三大類用戶:數(shù)據(jù)庫管理員、教職工、在校學(xué)生。其各自的權(quán)限如下:數(shù)據(jù)庫管理員具有最高權(quán)限:可以對數(shù)據(jù)庫中的任意數(shù)據(jù)項進(jìn)行維護(hù)和更新。教師權(quán)限:可以對Student關(guān)系表訪問,可對Teacher關(guān)系表進(jìn)行訪問,可以對Grades(成績表)進(jìn)行學(xué)生成績的輸入、修改和刪除。學(xué)生權(quán)限:可以對Student關(guān)系表訪問,可對Teacher關(guān)系表進(jìn)行訪問,可以查詢某個課程的信息,可以對課程選課,以及查詢自己的成績。數(shù)據(jù)完整性設(shè)計:在各個關(guān)系模式設(shè)計的時候,在滿足數(shù)據(jù)庫涉及基本要求的同時,考慮到了外碼問題,為后續(xù)操作想,各關(guān)系模式中部分表定義了外碼,以便進(jìn)行級聯(lián)操作。第5章主要模塊的設(shè)計以及代碼在進(jìn)行各個模塊的說明前有必要說明一下面向?qū)ο蟮某绦蛟O(shè)計思想,在本系統(tǒng)中,為方便對數(shù)據(jù)庫的連接、SQL語句的執(zhí)行以及數(shù)據(jù)庫的關(guān)閉。本程序封裝了一個SQLDatabase類,類中定義了一系列的函數(shù)來完成數(shù)據(jù)庫的連接等操作。代碼及說明如下:classSQLDatabase{publicSqlConnectionSQLConnection;publicSqlCommandMyCommand;publicSqlDataAdaptersdr;staticpublicstringServerIP;publicvoidGetServerIP(stringIP)ServerIP=IP;publicvoidSQLDataConnectionOpen(){//本函數(shù)完成對數(shù)據(jù)庫的連接SQLConnection=newSqlConnection();="Server="+ServerIP+";Userid=sa;pwd=123456;DataBase=TeachingManagementSystem";();}publicvoidSQLDataConnectionClose()//實現(xiàn)數(shù)據(jù)庫的關(guān)閉();publicintSQLExecuteNonQuery(stringstr){//ExecuteNonQuery方法:執(zhí)行不返回結(jié)果的命令MyCommand=newSqlCommand(str,SQLConnection);return();}publicobjectSQLExecuteScalar(stringstr){//只返回結(jié)果集中第一行的第一列MyCommand=newSqlCommand(str,SQLConnection);return();}publicSqlDataAdapterSQLDataAdapter(stringstrCmd){sdr=newSqlDataAdapter(strCmd,SQLConnection);returnsdr;}publicSqlDataReaderSQLExecuteReader(stringstrCmd){//執(zhí)行返回數(shù)據(jù)集的Select語句,返回一個DataReader對象MyCommand=newSqlCommand(strCmd,SQLConnection);SqlDataReadersdr=();returnsdr;}}在本程序的登陸模塊中,當(dāng)用戶輸入用戶名、密碼及其登陸權(quán)限后,會對數(shù)據(jù)與數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行對比,若相同則進(jìn)入相應(yīng)的權(quán)限界面,以進(jìn)行相應(yīng)的操作。登陸界面如下圖所示:圖5-1登錄登陸按鈕的單擊消息響應(yīng):當(dāng)用戶輸入用戶名、密碼及登陸權(quán)限,單擊登陸按鈕后,數(shù)據(jù)會與數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行對比,若相同則通過,否則會提示用戶響應(yīng)的錯誤報告。代碼如下:privatevoidbutton1_Click(objectsender,EventArgse){if(==""){("服務(wù)器IP地址不能為空,請輸入用戶名!","提示");();return;}elseif(==""){("用戶名不能為空,請輸入用戶名!","提示");();return;}elseif(==""){("密碼不能為空,請輸入密碼!","提示");();return;}elseif(==""){("校驗碼不能為空,請輸入!","提示");();return;}elseif(!=){("校驗碼輸入不正確,請重新輸入!","提示");="";=ProduceCheckCode();();return;}stringidentity="0";if()identity="3";elseif() identity="2";elseif()identity="1";SQLDatabaseSQLConn=newSQLDatabase();();();stringstrCmd="select*fromAccountwhereAname='"++"'andApassword='"++"'"+"andApermissions='"+identity+"'";SqlDataReadersdr=(strCmd);intn=0;while(()){n=1;Form2form2=newForm2(identity,);();();}if(n==0){("沒有此用戶!\n或者用戶名或密碼錯誤!\n請重新輸入或者注冊當(dāng)前用戶!","提示");=ProduceCheckCode();}();();}另外本模塊也提供了校驗碼認(rèn)證、用戶注冊功能。用戶單擊登陸按鈕后,系統(tǒng)會對用戶輸入的校驗碼與系統(tǒng)隨機生成的校驗碼進(jìn)行對比,不相同會提示用戶重新輸入。當(dāng)用戶想注冊一個賬戶時,系統(tǒng)會根據(jù)用戶輸入的用戶名、密碼、權(quán)限,在數(shù)據(jù)庫中查找是否已存在相同的用戶名若相同則提示用戶注冊成功,否則提示用戶錯誤報告。代碼與登陸響應(yīng)類似不再列出。、教師、學(xué)生模塊設(shè)計這里需要說明一點的是,本程序的操作端是通過TabControl控件實現(xiàn)的,各個tabPage頁都放在了一個對話框上,對于不同的登陸權(quán)限,();函數(shù)來實現(xiàn)某個tabPage頁的隱藏,以體現(xiàn)不同的權(quán)限功能。所以這里只需要對管理員端的各個操作進(jìn)行說明即可,整個界面如下圖所示:圖5-2管理員、教師、學(xué)生tabPage1:學(xué)生管理在學(xué)生管理頁面中,管理員可以對學(xué)生信息進(jìn)行查詢、刪除、修改、錄入、及其轉(zhuǎn)學(xué)/畢業(yè)操作等。另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個學(xué)生的信息后,如果此學(xué)生選了課,并且有了成績,系統(tǒng)會同時把此學(xué)生的選課記錄、成績記錄刪除。當(dāng)錄入一個學(xué)生的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該學(xué)生的信息,若存在提示不同錄入。其錄入按鈕的單擊消息響應(yīng)函數(shù)代碼為:privatevoidbutton1_Click(objectsender,EventArgse){if(==""){("學(xué)號不能為空,請輸入學(xué)號!","提示");();return;}elseif(==""){("姓名不能為空,請輸入姓名!","提示");();return;}stringsex="";if()sex="男";elseif()sex="女";SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd;stringstrCmd2;stringstrCmd3;strCmd="insertintoStudentvalues('"++"','"++"','"+sex+"','"++"','"++"','"++"');";strCmd2="select*fromStudentwhereSno='"++"';";strCmd3="select*fromDeptwhereDno='"++"';";objectob=(strCmd2);if((ob)!=""){("已存在學(xué)號為"++"的信息!\n請重新輸入!","提示");="";="";="";="";="";();();return;}objectob1=(strCmd3);if((ob1)==""){if(!=""){("不存在系號為"++"的系信息!\n請重新輸入!","提示");="";();}();return;}(strCmd);("錄入成功!","提示");//控件清空!="";="";="";="";="";();();button5_Click(sender,e);}tabPage2:系管理在系管理頁面中,管理員可以對系信息進(jìn)行查詢、刪除、修改、輸入。另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個系的信息后,在該系的所以學(xué)生記錄會同時刪除,與此相應(yīng)的選課、成績記錄也會被刪除。當(dāng)錄入一個系的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該系的信息,若存在提示不同錄入。其輸入按鈕的單擊消息響應(yīng)函數(shù)代碼為: privatevoidbutton7_Click(objectsender,EventArgse){if(==""){("系號不能為空,請輸入系號!","提示");();return;}elseif(==""){("系名不能為空,請輸入系名!","提示");();return;}SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd;stringstrCmd2;strCmd="insertintoDeptvalues('"++"','"++"','"++"');";strCmd2="select*fromDeptwhereDno='"++"';";objectob=(strCmd2);if((ob)!=""){("已存在系號為"++"的信息!\n請重新輸入!","提示");="";="";="";();();return;}else(strCmd);("輸入成功!","提示");//控件清空!="";="";="";();();button10_Click(sender,e);}tabPage3:課程管理在課程管理頁面中,管理員可以對課程信息進(jìn)行查詢、刪除、修改、輸入。另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個課程的信息后,選擇此課程的選課記錄,成績記錄也會被同時刪除。當(dāng)錄入一個課程的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該課程的信息,若存在提示不同錄入。其輸入按鈕的單擊消息響應(yīng)函數(shù)代碼為:privatevoidbutton12_Click(objectsender,EventArgse){if(==""){("課程號不能為空,請輸入課程號!","提示");();return;}elseif(==""){("課程名不能為空,請輸入課程名!","提示");();return;}elseif(==""){("任課教師號不能為空,請輸入課程名!","提示");();return;}SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd;stringstrCmd2;strCmd="insertintoCoursevalues('"++"','"++"','"++"','"++"','"++"','"++"','"++"','"++"')";strCmd2="select*fromCoursewhereCno='"++"';";objectob=(strCmd2);if((ob)!=""){("已存在課程號為"++"的信息!\n請重新輸入!","提示");="";="";="";="";="";="";="";="";();();return;}stringstrCmd3="select*fromTeacherwhereTno='"++"';";objectob1=(strCmd3);if((ob1)==""){if(!=""){("不存在教師號為"++"的教師信息!\n請重新輸入!","提示");="";();}();return;}(strCmd);("課程信息輸入成功!","提示");//控件清空!="";="";="";="";="";="";="";="";();();button14_Click(sender,e);}tabPage4:教師管理在教師管理頁面中,管理員可以對教師信息進(jìn)行查詢、刪除、修改、輸入。當(dāng)錄入一個教師的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該教師的信息,若存在提示不同錄入。其輸入按鈕的單擊消息響應(yīng)函數(shù)代碼為:privatevoidbutton17_Click(objectsender,EventArgse){if(==""){("職工號不能為空,請輸入!","提示");();return;}elseif(==""){("姓名不能為空,請輸入!","提示");();return;}elseif(==""){("所在系號不能為空,請輸入!","提示");();return;}stringsex="";if()sex="男";elsesex="女";SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd;stringstrCmd2;strCmd="insertintoTeachervalues('"++"','"++"','"+sex+"','"++"','"++"','"++"','"++"','"++"')";strCmd2="select*fromTeacherwhereTno='"++"';";objectob=(strCmd2);if((ob)!=""){("已存在職工號為"++"的信息!\n請重新輸入!","提示");="";="";="";="";="";="";();();return;}stringstrCmd3="select*fromDeptwhereDno='"++"';";objectob1=(strCmd3);if((ob1)==""){if(!=""){("不存在系號為"++"的系信息!\n請重新輸入!","提示");="";();}();return;}(strCmd);("職工信息輸入成功!","提示");//控件清空!="";="";="";="";="";="";="";();();button19_Click(sender,e);}tabPage5:選課管理在選課管理頁面中,管理員可以對選課信息進(jìn)行查詢、刪除、修改、輸入。當(dāng)錄入一個選課的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該選課的信息,若存在提示不同錄入。其提交按鈕的單擊消息響應(yīng)函數(shù)代碼為:privatevoidbutton22_Click(objectsender,EventArgse){if(==""){("學(xué)號不能為空,請輸入!","提示");();return;}elseif(==""){("課程號不能為空,請輸入!","提示");();return;}if((",")==true||(",")==true){CourseManyStudent(sender,e);return;}if((",")==true||(",")==true){StudentManyCourse(sender,e);return;}SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd1,strCmd2,strCmd3,strCmd4,strCmd5;stringcredits="";strCmd1="select*fromStudentwhereSno='"++"';";strCmd2="select*fromCoursewhereCno='"++"';";strCmd3="selectSno,CnofromCourseSelectionTablewhereSno='"++"'andCno='"++"';";strCmd4="selectCcreditsfromCoursewhereCno='"++"';";objectob1,ob2,ob3,ob4;ob1=(strCmd1);if((ob1)==""){if(!=""){("不存在學(xué)號為"++"的學(xué)生信息!\n請重新輸入!","提示");="";();}();return;}ob2=(strCmd2);if((ob2)==""){if(!=""){("不存在課程號為"++"的課程信息!\n請重新輸入!","提示");="";();}();return;}ob4=(strCmd4);credits=();strCmd5="insertintoCourseSelectionTablevalues('"++"','"++"','"+credits+"');";ob3=(strCmd3);if((ob3)!=""){("已存在學(xué)號為"++"課程號為"++"的信息!\n請重新輸入!","提示");="";="";();();return;}doublesum=TotalCredit();if(((credits)+sum)>=15){("選擇此課程后,總學(xué)分將超過15,不能再選課!","提示");();button25_Click(sender,e);return;}else(strCmd5);intZongSum=(int)((credits)+sum);stringCcreditsSum="選課信息提交成功!\n學(xué)號為"++"\n的學(xué)生選課的總學(xué)分為:"+();(CcreditsSum,"提示");();button25_Click(sender,e);}tabPage6:成績管理在成績管理頁面中,管理員可以對成績信息進(jìn)行查詢、刪除、修改、輸入。當(dāng)錄入一個成績的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該選課的信息,若存在提示不能輸入。另外當(dāng)輸入一個學(xué)生的成績時,系統(tǒng)會從選課表中查找是否該學(xué)生選了此課程若沒有選,則提示用戶不能輸入該學(xué)生的成績信息。其提交按鈕的單擊消息響應(yīng)函數(shù)代碼為:privatevoidbutton27_Click(objectsender,EventArgse){if(==""){("學(xué)號不能為空,請輸入!","提示");();return;}elseif(==""){("課程號不能為空,請輸入!","提示");();return;}if(=="")="0";if(=="")="0";SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();stringstrCmd1,strCmd2,strCmd3,strCmd4;doubletotalresults;totalresults=()*+()*;=();strCmd1="select*fromStudentwhereSno='"++"';";strCmd2="select*fromCoursewhereCno='"++"';";strCmd3="selectGsno,GcnofromGradeswhereGsno='"++"'andGcno='"++"';";strCmd4="insertintoGradesvalues('"++"','"++"','"++"','"++"','"+()+"');";objectob1,ob2,ob3;ob1=(strCmd1);if((ob1)==""){if(!=""){("不存在學(xué)號為"++"的學(xué)生信息!\n請重新輸入!","提示");="";();}();return;}ob2=(strCmd2);if((ob2)==""){if(!=""){("不存在課程號為"++"的課程信息!\n請重新輸入!","提示");="";();}();return;}stringstrCmd5;strCmd5="select*fromCourseSelectionTablewhereSno='"++"'andCno='"++"';";objectob4;ob4=(strCmd5);if((ob4)==""){if(!=""&&!=""){("該學(xué)生沒有選課程號為"++"的課程!不能輸入成績!","提示");="";="";="";="";="";();}();return;}ob3=(strCmd3);if((ob3)!=""){("已存在學(xué)號為"++"課程號為"++"的成績信息!\n請重新輸入!","提示");="";="";="";="";="";();();return;}(strCmd4);("成績信息輸入成功!","提示");();ShowListView();button29_Click(sender,e);button33_Click(sender,e);}tabPage7:報表在報表頁面中,管理員可以通過報表的顯示來查看學(xué)生的成績登記表、成績報表。界面如下:圖5-3報表在程序中利用了listView控件來實現(xiàn)>=90分、>=80分、、>=70分、>=60分及不及格學(xué)生的人數(shù)及比例的顯示,其函數(shù)的代碼為:privatevoidShowListView(){inttemp=0;intn=0;floatsum=0;int[]records=newint[]{0,0,0,0,0};stringstr="selectGgradesshouldfromGrades";SQLDatabaseSQLConn=newSQLDatabase();(SerIP);();SqlDataReadersdr=(str);while(()){sum++;n=(int)(sdr["Ggradesshould"].ToString());temp=n/10;switch(temp){case10:case9:records[0]++;break;case8:records[1]++;break;case7:records[2]++;break;case6:records[3]++;break;default:records[4]++;break;}}();string[]Itemstr={">=90","80-89","70-79","60-69","不及格"};();//.ConnectionClose();float[]note=newfloat[5];for(inti=0;i<5;i++){note[i]=records[i]/sum;ListViewItemitem=newListViewItem();=Itemstr[i];(note[i].ToString("%"));(item);}}在本程序中,為了方便提高程序的運行效率,程序使用了存儲過程來實現(xiàn)數(shù)據(jù)的刪除,在查詢分析器的定義如下:刪除Student表中的學(xué)生信息:createprocedureDeleteStudentData(@DeleteSnochar(10))asdeletefromStudentwhereSno=@DeleteSno;刪除Dept中的系信息:createprocedureDeleteDeptData(@
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年混凝土工程物流與運輸服務(wù)合同
- 2025江蘇店鋪租賃版合同
- 2025年通遼貨運從業(yè)資格仿真考題
- 2024年度北京教育培訓(xùn)合作協(xié)議2篇
- 2025主材采購合同
- 融資租賃公司租賃合同
- 2024年商鋪租賃合同模板下載合同條款詳細(xì)說明9篇
- 2024年度人力資源經(jīng)理試用期合同范本(企業(yè)創(chuàng)新)5篇
- 城市排水系統(tǒng)土石方施工協(xié)議
- 2024區(qū)網(wǎng)紅景點民宿租賃合同3篇
- 偏微分方程知到智慧樹章節(jié)測試課后答案2024年秋浙江師范大學(xué)
- 2024年共青團(tuán)入團(tuán)考試測試題庫及答案
- 2022年全國應(yīng)急普法知識競賽試題庫大全-下(判斷題庫-共4部分-2)
- 花鍵計算公式DIN5480
- 《建筑與市政工程施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)》JGJT46-2024知識培訓(xùn)
- 2024年事業(yè)單位招聘考試公共基礎(chǔ)知識模擬試卷及答案(共七套)
- 《燃?xì)獍踩R培訓(xùn)》課件
- 高考及人生規(guī)劃講座模板
- 浙教版2023小學(xué)信息技術(shù)五年級上冊 第6課《順序結(jié)構(gòu)》說課稿及反思
- 第20課《人民英雄永垂不朽》課件+2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 智能語音應(yīng)用開發(fā)及服務(wù)合同
評論
0/150
提交評論