版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程名稱:管理信息系統(tǒng)分析與設(shè)計(jì)班級(jí):09信管一班姓名:任志雄學(xué)號(hào):20090702115目錄概述項(xiàng)目背景--—--——-—--——-—-—--—----—----————-——---—-—-——---—--—-——--3編寫目的—------—----------——-—--—--———--——----—--—-—-3開(kāi)發(fā)環(huán)境--—-————----—-———--—--—--——----——--—----———--—--—-——-—4需求分析2.1信息要求—-—------—----—--—---—--—--—————--—-—----——--——42。2處理要求-—-—-—---——————-—--——---—--——--------—--———-—----—---42。3安全性與完整性要求-—-—-—--—--—-——-—---———--——----—--——---—6三、概要設(shè)計(jì)3.1系統(tǒng)功能圖--———-—-—-----—--—----——-——-——-—------———---—7四、概念結(jié)果設(shè)計(jì)4。1基本E-R圖設(shè)計(jì)——--——-——-—-————-——-----—7五、邏輯結(jié)構(gòu)設(shè)計(jì)5.1E-R圖的轉(zhuǎn)換——---——------——----——--——--—-----—--—--—---——-—-9六、主要模塊的設(shè)計(jì)以及代碼——-—-——-—--—------116。1登錄模塊設(shè)計(jì)——--—---—---———-—---—---—-——--—---—---—----—-—-126.2管理員、教師、學(xué)生模塊設(shè)計(jì)——----—--—-——--------———--—136。3存儲(chǔ)過(guò)程—--—————-—---—---—-—-—--—-----——--—------——--—-—---—--—----28七、總結(jié)7.1遇到的問(wèn)題以及解決方法---—-—--————-—————---297.2設(shè)計(jì)的體會(huì)——-----—-—-—-----——------—-—---——-—---—----------—-—---30概述1項(xiàng)目背景隨著科學(xué)技術(shù)、管理方法的不斷進(jìn)步,傳統(tǒng)的方式、方法和手段已經(jīng)不能適應(yīng)現(xiàn)代化管理的需要,作為培養(yǎng)高質(zhì)量合格人才為宗旨的高等學(xué)校,總是走在科技的最前沿,教學(xué)管理的計(jì)算機(jī)化已成為高校管理現(xiàn)代化、決策科學(xué)化的一個(gè)重要環(huán)節(jié),是開(kāi)創(chuàng)教學(xué)管理工作新局面的必由之路。教學(xué)管理系統(tǒng)是一個(gè)輔助學(xué)校教務(wù)人員完成日常工作中,涉及學(xué)籍管理、教師管理、課程管理和成績(jī)管理等項(xiàng)目的日常比較繁重的工作.它應(yīng)用計(jì)算機(jī)在數(shù)據(jù)處理和數(shù)據(jù)整理保存方面的優(yōu)異性能,幫助工作人員提高工作的效率、減少出錯(cuò)情況.同時(shí)還能提供快速的查詢檢索功能。2編寫目的本系統(tǒng)的設(shè)計(jì)旨在實(shí)現(xiàn)管理員、教師以及學(xué)生對(duì)信息的查詢、修改以及更新提供便利性。教學(xué)管理系統(tǒng)是一個(gè)輔助學(xué)校教務(wù)人員完成日常工作中,涉及教師管理、課程管理和成績(jī)管理等項(xiàng)目的日常比較繁重的工作.它應(yīng)用計(jì)算機(jī)在數(shù)據(jù)處理和數(shù)據(jù)整理保存方面的優(yōu)異性能,幫助工作人員提高工作的效率、減少出錯(cuò)情況。3開(kāi)發(fā)環(huán)境經(jīng)過(guò)思考和選擇,決定以.netC#來(lái)實(shí)現(xiàn)本系統(tǒng).需求分析2.1信息要求本次系統(tǒng)設(shè)計(jì)主要需要的信息如下所示,這些信息都是以表的形式存在數(shù)據(jù)庫(kù)中,當(dāng)需要輸入、刪除、修改等信息時(shí)可以通過(guò)執(zhí)行SQL語(yǔ)句來(lái)實(shí)現(xiàn)。1、學(xué)生信息:學(xué)號(hào)、姓名、性別、出生日期、入學(xué)成績(jī)、所在系號(hào)。2、教職工信息:職工號(hào)、姓名、性別、出身年月、所在系號(hào)、職稱、專業(yè)及教學(xué)方向。3、系的基本信息:系號(hào)、系名稱、系的簡(jiǎn)介。4、課程信息:課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間.5、成績(jī)信息:學(xué)號(hào)、課程號(hào)、平時(shí)成績(jī)、考試成績(jī)、總評(píng)成績(jī)。2.2處理要求1、學(xué)生基本信息管理新生信息錄入、學(xué)生信息修改:按學(xué)號(hào)查詢出某學(xué)生的信息并做信息修改。學(xué)生轉(zhuǎn)學(xué)(轉(zhuǎn)入和轉(zhuǎn)出),學(xué)生畢業(yè)等.畢業(yè)和轉(zhuǎn)學(xué)的學(xué)生有關(guān)信息存儲(chǔ)到歷史庫(kù)中。2、系基本信息管理:系的基本信息輸入、修改、刪除3、課程信息管理:課程信息的輸入、修改、刪除4、教職工信息管理:教職工信息的輸入、修改、刪除5、選課管理:每學(xué)期所選課程的學(xué)分不能超過(guò)15分、學(xué)生可以同時(shí)選修一門或多門課程、可以同時(shí)為多個(gè)學(xué)生選修某一門或某幾門課程、刪除和修改選課信息。6、成績(jī)管理:按課程輸入和修改成績(jī)、按學(xué)生輸入和修改成績(jī).7、信息查詢:按學(xué)號(hào)、姓名、系號(hào)查詢學(xué)生基本信息.按職工號(hào)、姓名、系號(hào)查詢教職工基本信息。按系號(hào)、系名稱查詢系的基本信息。按課程號(hào)、課程名稱、上課教師姓名查詢課程基本信息。按學(xué)號(hào)、學(xué)生姓名、課程號(hào)、課程名稱、上課教師姓名、系號(hào)查詢學(xué)生成績(jī),內(nèi)容包括課程基本情況。若查詢涉及多門課程,則按課程分組。每門課程按總評(píng)成績(jī)從高分到低分給出選修該門課程的所有學(xué)生的成績(jī)(平時(shí)成績(jī)、考試成績(jī)和總評(píng)成績(jī)).8、統(tǒng)計(jì)報(bào)表成績(jī)登記表,內(nèi)容包括課程基本信息(課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間)、選課學(xué)生名單(學(xué)號(hào)、姓名、性別),每個(gè)學(xué)生的平時(shí)成績(jī)(空格)、考試成績(jī)(空格)和總評(píng)成績(jī)(空格),按學(xué)號(hào)排序:順序輸出所有課程的成績(jī)登記表。按課程號(hào)、課程名稱、教師姓名輸出對(duì)應(yīng)課程的成績(jī)登記表.按系號(hào)輸出對(duì)應(yīng)課程的成績(jī)登記表(本系所有教師擔(dān)任的課程)。成績(jī)報(bào)表,內(nèi)容包括課程基本信息(課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間),選課學(xué)生名單(學(xué)號(hào)、姓名、性別),每個(gè)學(xué)生的平時(shí)成績(jī)、考試成績(jī)和總評(píng)成績(jī),〉=90分、>=80分、、>=70分、〉=60分及不及格學(xué)生的人數(shù)及比例,按學(xué)號(hào)排序:順序輸出所有課程的成績(jī)報(bào)表。(報(bào)表格式自己訂制,可以參考學(xué)校的系統(tǒng)的輸出格式)按課程號(hào)、課程名稱、教師姓名輸出對(duì)應(yīng)課程的成績(jī)報(bào)表.按系號(hào)輸出對(duì)應(yīng)課程的成績(jī)報(bào)表(本系所有教師擔(dān)任的課程).2.3安全性與完整性要求在數(shù)據(jù)庫(kù)中,各個(gè)表之間是有聯(lián)系的,它們存在著參照完整性,在刪除數(shù)據(jù)時(shí),要考慮到一個(gè)表中的數(shù)據(jù)刪除的同時(shí)也要?jiǎng)h除另一個(gè)表中對(duì)應(yīng)的數(shù)據(jù)項(xiàng).概要設(shè)計(jì)3.1系統(tǒng)功能圖結(jié)構(gòu)蘭州商學(xué)院教學(xué)管理系統(tǒng)的功能結(jié)構(gòu)圖如下:四、概念結(jié)果設(shè)計(jì)4。1基本E—R圖設(shè)計(jì)E-R圖設(shè)計(jì):E—R圖中實(shí)體有:教師、學(xué)生、系部、課程實(shí)體屬性學(xué)生:學(xué)號(hào)、姓名、性別、出生日期、入學(xué)成績(jī)、所在系號(hào)教師:職工號(hào)、姓名、性別、出身年月、所在系號(hào)、職稱、專業(yè)及教學(xué)方向系:系號(hào)、系名稱、系的簡(jiǎn)介課程:課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間其中各個(gè)之間的關(guān)系如下:學(xué)生可以選多個(gè)課程,一個(gè)課程可以被多個(gè)學(xué)生選修.學(xué)生存在一個(gè)系中,一個(gè)系可以存在多個(gè)學(xué)生.一個(gè)教師可以教多個(gè)課程,一個(gè)課程可以被多個(gè)教師教.一個(gè)教師只能在一個(gè)系中,一個(gè)系中可以有多個(gè)教師。學(xué)生:學(xué)生學(xué)生學(xué)號(hào)姓名性別出生日期所在系號(hào)入學(xué)成績(jī)教師:教師教師職工號(hào)姓名性別出生日期職稱所在系號(hào)專業(yè)及教學(xué)方向系:系系系號(hào)系名系簡(jiǎn)介課程:課程課程課程號(hào)課程名教師號(hào)學(xué)時(shí)上課時(shí)間學(xué)分上課地點(diǎn)考試時(shí)間全局E—R圖:五、邏輯結(jié)構(gòu)設(shè)計(jì)5.1E-R圖的轉(zhuǎn)換表一覽:?Account(用戶登錄表)、Course(課程表)、Student(學(xué)生表)、Teacher(教師表)、Dept(系表)、Grades(成績(jī)表)。表結(jié)構(gòu):1、Account(用戶登錄表)2、Course(課程表)3、Student(學(xué)生表)4、Teacher(教師表)5、Dept(系表)6、Grades(成績(jī)表)六、主要模塊的設(shè)計(jì)以及代碼在本系統(tǒng)中,為方便對(duì)數(shù)據(jù)庫(kù)的連接、SQL語(yǔ)句的執(zhí)行以及數(shù)據(jù)庫(kù)的關(guān)閉.本程序封裝了一個(gè)SQLDatabase類,類中定義了一系列的函數(shù)來(lái)完成數(shù)據(jù)庫(kù)的連接等操作。?代碼及說(shuō)明如下:classSQLDatabase{publicSqlConnectionSQLConnection;publicSqlCommandMyCommand;publicSqlDataAdaptersdr;staticpublicstringServerIP;publicvoidGetServerIP(stringIP)ServerIP=IP;publicvoidSQLDataConnectionOpen(){//本函數(shù)完成對(duì)數(shù)據(jù)庫(kù)的連接SQLConnection=newSqlConnection();SQLConnection。ConnectionString="Server=”+ServerIP+”;Userid=sa;pwd=123456;DataBase=TeachingManagementSystem”;SQLConnection.Open();}publicvoidSQLDataConnectionClose()//實(shí)現(xiàn)數(shù)據(jù)庫(kù)的關(guān)閉SQLConnection.Close();publicintSQLExecuteNonQuery(stringstr){//ExecuteNonQuery方法:執(zhí)行不返回結(jié)果的命令MyCommand=newSqlCommand(str,SQLConnection);returnMyCommand。ExecuteNonQuery();}publicobjectSQLExecuteScalar(stringstr){//只返回結(jié)果集中第一行的第一列MyCommand=newSqlCommand(str,SQLConnection);returnMyCommand.ExecuteScalar();}publicSqlDataAdapterSQLDataAdapter(stringstrCmd){sdr=newSqlDataAdapter(strCmd,SQLConnection);returnsdr;}publicSqlDataReaderSQLExecuteReader(stringstrCmd){//執(zhí)行返回?cái)?shù)據(jù)集的Select語(yǔ)句,返回一個(gè)DataReader對(duì)象MyCommand=newSqlCommand(strCmd,SQLConnection);SqlDat(yī)aReadersdr=MyCommand.ExecuteReader();returnsdr;}}6.1登錄模塊設(shè)計(jì)在本程序的登錄模塊中,當(dāng)用戶輸入用戶名、密碼及其登錄權(quán)限后,會(huì)對(duì)數(shù)據(jù)與數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行對(duì)比,若相同則進(jìn)入相應(yīng)的權(quán)限界面,以進(jìn)行相應(yīng)的操作。登錄界面如下圖所示:?登錄按鈕的單擊消息響應(yīng):當(dāng)用戶輸入用戶名、密碼,單擊登錄按鈕后,數(shù)據(jù)會(huì)與數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行對(duì)比,若相同則通過(guò),否則會(huì)提示用戶相應(yīng)的錯(cuò)誤報(bào)告。代碼如下:privatevoidbutton1_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox1.Text)){MessageBox。Show("用戶名不能為空,請(qǐng)輸入用戶名!",”提示”);textBox1.Focus();return;}elseif((string.IsNullOrEmpty(textBox2.Text)){MessageBox.Show(”密碼不能為空,請(qǐng)輸入密碼!","提示");textBox2。Focus();return;}}stringidentity=”0”;if(radioButton1。Checked)identity=”3”;elseif(radioButton2。Checked)?identity=”2";elseif(radioButton3。Checked)identity="1”;SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(textBox1.Text);SQLConn.SQLDataConnectionOpen();stringstrCmd="select*fromAccountwhereAname=’"+textBox2.Text+"'andApassword='”+textBox3.Text+"'"+"andApermissions='”+identity+"'";SqlDataReadersdr=SQLConn.SQLExecuteReader(strCmd);intn=0;while(sdr。Read()){n=1;Form2form2=newForm2(identity,textBox1.Text);form2.Show();this.Hide();}if(n==0){MessageBox。Show("沒(méi)有此用戶!\n或者用戶名或密碼錯(cuò)誤!\n請(qǐng)重新輸入或者注冊(cè)當(dāng)前用戶!",”提示");label6.Text=ProduceCheckCode();}sdr.Close();SQLConn。SQLDataConnectionClose();}6.2管理員、教師、學(xué)生模塊設(shè)計(jì)本程序的操作端是通過(guò)TabControl控件實(shí)現(xiàn)的,各個(gè)tabPage頁(yè)都放在了一個(gè)對(duì)話框上,對(duì)于不同的登錄權(quán)限,會(huì)在對(duì)話框的初始化函數(shù)中通過(guò)調(diào)用tabControl1.TabPages.Remove();函數(shù)來(lái)實(shí)現(xiàn)某個(gè)tabPage頁(yè)的隱藏,以體現(xiàn)不同的權(quán)限功能。?所以這里只需要對(duì)管理員端的各個(gè)操作進(jìn)行說(shuō)明即可,整個(gè)界面如下圖所示:tabPage1:學(xué)生管理在學(xué)生管理頁(yè)面中,管理員可以對(duì)學(xué)生信息進(jìn)行查詢、刪除、修改、錄入、及其轉(zhuǎn)學(xué)/畢業(yè)操作等.另外,各個(gè)表之間是有聯(lián)系的,當(dāng)刪除一個(gè)學(xué)生的信息后,如果此學(xué)生選了課,并且有了成績(jī),系統(tǒng)會(huì)同時(shí)把此學(xué)生的選課記錄、成績(jī)記錄刪除。當(dāng)錄入一個(gè)學(xué)生的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該學(xué)生的信息,若存在提示不能重復(fù).其錄入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton1_Click(objectsender,EventArgse){if(string。IsNullOrEmpty(textBox1.Text)){MessageBox。Show("學(xué)號(hào)不能為空,請(qǐng)輸入學(xué)號(hào)!”,"提示”);textBox1.Focus();return;}elseif(string.IsNullOrEmpty(textBox2.Text)){MessageBox。Show("姓名不能為空,請(qǐng)輸入姓名!”,"提示");textBox2.Focus();return;}stringsex=”";if(radioButton1。Checked)sex="男”;elseif(radioButton2。Checked)sex="女";SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;stringstrCmd3;strCmd="insertintoStudentvalues(’"+textBox1.Text+"','"+textBox2.Text+"’,’”+sex+"’,'"+textBox3.Text+"',’"+textBox4.Text+”',’"+textBox5.Text+”’);”;strCmd2=”select*fromStudentwhereSno=’”+textBox1。Text+"';";strCmd3="select*fromDeptwhereDno='”+textBox5.Text+"’;";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!="”){MessageBox.Show("已存在學(xué)號(hào)為"+textBox1。Text+"的信息!\n請(qǐng)重新輸入!”,"提示");textBox1.Text="";textBox2.Text="";textBox3.Text=”";textBox4.Text="”;textBox5。Text="";textBox1.Focus();SQLConn。SQLDataConnectionClose();return;}objectob1=SQLConn。SQLExecuteScalar(strCmd3);if(Convert。ToString(ob1)==""){if(textBox5。Text?。剑ⅲⅲ鸐essageBox.Show(”不存在系號(hào)為"+textBox5.Text+”的系信息!\n請(qǐng)重新輸入?。?,”提示");textBox5.Text="";textBox5.Focus();}SQLConn。SQLDat(yī)aConnectionClose();return;}SQLConn.SQLExecuteNonQuery(strCmd);MessageBox.Show(”錄入成功!","提示");//控件清空!textBox1.Text=””;textBox2。Text="";textBox3.Text=”";textBox4.Text="”;textBox5.Text="";textBox1.Focus();SQLConn。SQLDat(yī)aConnectionClose();button5_Click(sender,e);}tabPage2:系管理在系管理頁(yè)面中,管理員可以對(duì)系的信息進(jìn)行查詢、刪除、修改、輸入。另外,各個(gè)表之間是有聯(lián)系的,當(dāng)刪除一個(gè)系的信息后,在該系的所有學(xué)生記錄會(huì)同時(shí)刪除,與此相應(yīng)的選課、成績(jī)記錄也會(huì)被刪除。當(dāng)錄入一個(gè)系的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該系的信息,若存在提示不能重復(fù)。其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:?privat(yī)evoidbutton7_Click(objectsender,EventArgse){if(textBox7。Text==""){string.IsNullOrEmpty(textBox7.Text)MessageBox。Show(”系號(hào)不能為空,請(qǐng)輸入系號(hào)!",”提示");textBox7。Focus();return;}elseif(string。IsNullOrEmpty(textBox8。Text)){MessageBox.Show("系名不能為空,請(qǐng)輸入系名!",”提示");textBox8。Focus();return;}SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;strCmd=”insertintoDeptvalues('”+textBox7.Text+"','"+textBox8.Text+”','"+textBox9。Text+"');";strCmd2=”select*fromDeptwhereDno='"+textBox7.Text+"';";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert。ToString(ob)?。剑?){MessageBox.Show("已存在系號(hào)為”+textBox7.Text+"的信息!\n請(qǐng)重新輸入!”,"提示");textBox7.Text="”;textBox8.Text=”";textBox9.Text=”";textBox7.Focus();SQLConn.SQLDataConnectionClose();return;}elseSQLConn.SQLExecuteScalar(strCmd);MessageBox.Show("輸入成功!",”提示");//控件清空?。簦鍃tBox7.Text="”;textBox8。Text="”;textBox9.Text=”";textBox7.Focus();SQLConn.SQLDataConnectionClose();button10_Click(sender,e);}tabPage3:課程管理在課程管理頁(yè)面中,管理員可以對(duì)課程信息進(jìn)行查詢、刪除、修改、輸入。另外,各個(gè)表之間是有聯(lián)系的,當(dāng)刪除一個(gè)課程的信息后,選擇此課程的選課記錄,成績(jī)記錄也會(huì)被同時(shí)刪除。當(dāng)錄入一個(gè)課程的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該課程的信息,若存在提示不能重復(fù)。其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privat(yī)evoidbutton12_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox10。Text)){MessageBox.Show(”課程號(hào)不能為空,請(qǐng)輸入課程號(hào)!","提示”);textBox10.Focus();return;}elseif(string.IsNullOrEmpty(textBox11。Text)){MessageBox。Show("課程名不能為空,請(qǐng)輸入課程名!”,"提示”);textBox11.Focus();return;}elseif(string。IsNullOrEmpty(textBox12.Text)){MessageBox。Show("任課教師號(hào)不能為空,請(qǐng)輸入課程名!","提示");textBox12。Focus();return;}SQLDatabaseSQLConn=newSQLDatabase();SQLConn。GetServerIP(SerIP);SQLConn。SQLDat(yī)aConnectionOpen();stringstrCmd;stringstrCmd2;strCmd="insertintoCoursevalues('"+textBox10.Text+”','"+textBox11.Text+"’,'"+textBox12。Text+"','"+textBox13.Text+"','”+textBox14.Text+"','”+textBox15.Text+"','"+textBox16。Text+"','”+textBox17.Text+"')";strCmd2="select*fromCoursewhereCno='"+textBox10.Text+”’;";objectob=SQLConn。SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!=""){MessageBox。Show("已存在課程號(hào)為”+textBox10.Text+"的信息!\n請(qǐng)重新輸入!",”提示");textBox10。Text="”;textBox11.Text=””;textBox12.Text=”";textBox13.Text="";textBox14.Text="”;textBox15.Text=”";textBox16.Text="";textBox17.Text=””;textBox10。Focus();SQLConn.SQLDataConnectionClose();return;}stringstrCmd3="select*fromTeacherwhereTno=’”+textBox12。Text+"';";objectob1=SQLConn.SQLExecuteScalar(strCmd3);if(Convert.ToString(ob1)==""){if(textBox12.Text!=""){MessageBox.Show(”不存在教師號(hào)為"+textBox12.Text+"的教師信息?。埽钫?qǐng)重新輸入?。?"提示");textBox12.Text=””;textBox12.Focus();}SQLConn.SQLDat(yī)aConnectionClose();return;}SQLConn。SQLExecuteNonQuery(strCmd);MessageBox。Show("課程信息輸入成功!”,”提示");//控件清空!textBox10。Text="";textBox11。Text=””;textBox12.Text="";textBox13。Text="”;textBox14。Text="";textBox15.Text=”";textBox16.Text=”";textBox17.Text=”";textBox10.Focus();SQLConn.SQLDat(yī)aConnectionClose();button14_Click(sender,e);}tabPage4:教師管理在教師管理頁(yè)面中,管理員可以對(duì)教師信息進(jìn)行查詢、刪除、修改、輸入。當(dāng)錄入一個(gè)教師的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該教師的信息,若存在提示不能重復(fù).其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton17_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBo6.Text)){MessageBox。Show(”職工號(hào)不能為空,請(qǐng)輸入!”,"提示");textBox6。Focus();return;}elseif(string.IsNullOrEmpty(textBox18.Text)){MessageBox.Show("姓名不能為空,請(qǐng)輸入!”,"提示");textBox18.Focus();return;}elseif(string.IsNullOrEmpty(textBox20.Text)){MessageBox。Show(”所在系號(hào)不能為空,請(qǐng)輸入!","提示");textBox20.Focus();return;}stringsex="";if(radioButton11.Checked)sex=”男";elsesex="女”;SQLDat(yī)abaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;strCmd="insertintoTeachervalues(’”+textBox6.Text+”','"+textBox18.Text+”','"+sex+”',’"+textBox19.Text+"’,'"+textBox20.Text+"','”+textBox21.Text+"',’"+textBox22.Text+”’,'”+textBox23.Text+"’)";strCmd2="select*fromTeacherwhereTno=’”+textBox6。Text+”';";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!=””){MessageBox.Show(”已存在職工號(hào)為”+textBox6.Text+"的信息!\n請(qǐng)重新輸入!",”提示");textBox6.Text=”";textBox19。Text=”";textBox20。Text="";textBox21.Text=”";textBox22.Text=”";textBox23。Text=”";textBox6。Focus();SQLConn。SQLDataConnectionClose();return;}stringstrCmd3="select*fromDeptwhereDno='”+textBox20.Text+”’;";objectob1=SQLConn.SQLExecuteScalar(strCmd3);if(Convert。ToString(ob1)==””){if(textBox20.Text?。健保ⅲ鸐essageBox。Show("不存在系號(hào)為”+textBox20.Text+"的系信息!\n請(qǐng)重新輸入!","提示");textBox20.Text=”";textBox20.Focus();}SQLConn。SQLDataConnectionClose();return;}SQLConn。SQLExecuteNonQuery(strCmd);MessageBox.Show("職工信息輸入成功!”,”提示”);//控件清空!textBox6.Text=””;textBox18.Text=”";textBox19.Text="";textBox20.Text="”;textBox21。Text="";textBox22。Text="";textBox23.Text=”";textBox6。Focus();SQLConn.SQLDat(yī)aConnectionClose();button19_Click(sender,e);}tabPage5:選課管理在選課管理頁(yè)面中,管理員可以對(duì)選課信息進(jìn)行查詢、刪除、修改、輸入.當(dāng)錄入一個(gè)選課的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該選課的信息,若存在提示不能重復(fù)。其提交按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton22_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox24。Text)){MessageBox。Show("學(xué)號(hào)不能為空,請(qǐng)輸入!","提示");textBox24.Focus();return;}elseif(string.IsNullOrEmpty(textBox25。Text)){MessageBox.Show("課程號(hào)不能為空,請(qǐng)輸入!","提示”);textBox25。Focus();return;}if(textBox24.Text.Contains(",")==true||textBox24.Text.Contains(",")==true){CourseManyStudent(sender,e);return;}if(textBox25.Text.Contains(”,")==true||textBox25.Text。Contains(",")==true){StudentManyCourse(sender,e);return;}SQLDatabaseSQLConn=newSQLDat(yī)abase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd1,strCmd2,strCmd3,strCmd4,strCmd5;stringcredits="";strCmd1=”select*fromStudentwhereSno='”+textBox24.Text+"’;";strCmd2="select*fromCoursewhereCno='"+textBox25.Text+"';";strCmd3="selectSno,CnofromCourseSelectionTablewhereSno='"+textBox24.Text+”'andCno=’"+textBox25.Text+"';";strCmd4=”selectCcreditsfromCoursewhereCno='"+textBox25。Text+”’;";objectob1,ob2,ob3,ob4;ob1=SQLConn。SQLExecuteScalar(strCmd1);if(Convert.ToString(ob1)==""){if(textBox24.Text!=""){MessageBox.Show("不存在學(xué)號(hào)為”+textBox24。Text+"的學(xué)生信息!\n請(qǐng)重新輸入!”,"提示");textBox24.Text="";textBox24.Focus();}SQLConn。SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob2)==”"){if(textBox25。Text!=""){MessageBox.Show(”不存在課程號(hào)為”+textBox25.Text+"的課程信息!\n請(qǐng)重新輸入!",”提示");textBox25。Text="";textBox25.Focus();}SQLConn.SQLDataConnectionClose();return;}ob4=SQLConn。SQLExecuteScalar(strCmd4);credits=ob4.ToString();strCmd5="insertintoCourseSelectionTablevalues('"+textBox24.Text+”’,'"+textBox25.Text+"’,'”+credits+"’);”;ob3=SQLConn.SQLExecuteScalar(strCmd3);if(Convert。ToString(ob3)!=""){MessageBox.Show("已存在學(xué)號(hào)為"+textBox24。Text+"課程號(hào)為”+textBox25.Text+”的信息!\n請(qǐng)重新輸入!","提示");textBox24.Text="”;textBox25.Text="";textBox24.Focus();SQLConn.SQLDat(yī)aConnectionClose();return;}doublesum=TotalCredit(textBox24.Text);if((Convert。ToDouble(credits)+sum)>=15){MessageBox.Show("選擇此課程后,總學(xué)分將超過(guò)15,不能再選課!",”提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);return;}elseSQLConn.SQLExecuteNonQuery(strCmd5);intZongSum=(int)(Convert.ToDouble(credits)+sum);stringCcreditsSum=”選課信息提交成功!\n學(xué)號(hào)為"+textBox24.Text+"\n的學(xué)生選課的總學(xué)分為:"+ZongSum.ToString();MessageBox。Show(CcreditsSum,"提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);}tabPage6:成績(jī)管理在成績(jī)管理頁(yè)面中,管理員可以對(duì)成績(jī)信息進(jìn)行查詢、刪除、修改、輸入。當(dāng)錄入一個(gè)成績(jī)的信息時(shí),系統(tǒng)提供了判斷機(jī)制,系統(tǒng)會(huì)先檢查數(shù)據(jù)庫(kù)中是否已存在該選課的信息,若存在提示不能輸入。另外當(dāng)輸入一個(gè)學(xué)生的成績(jī)時(shí),系統(tǒng)會(huì)從選課表中查找是否該學(xué)生選了此課程若沒(méi)有選,則提示用戶不能輸入該學(xué)生的成績(jī)信息。其提交按鈕的單擊消息相應(yīng)函數(shù)代碼為:privat(yī)evoidbutton27_Click(objectsender,EventArgse){if(textBox27。Text==""){MessageBox.Show(”學(xué)號(hào)不能為空,請(qǐng)輸入!”,”提示");textBox27。Focus();return;}elseif(textBox28。Text==”"){MessageBox.Show(”課程號(hào)不能為空,請(qǐng)輸入?。ⅲ碧崾荆ⅲ?;textBox28.Focus();return;}if(textBox29。Text==”")textBox29.Text="0”;if(textBox30。Text=="”)textBox30.Text=”0”;SQLDatabaseSQLConn=newSQLDat(yī)abase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDat(yī)aConnectionOpen();stringstrCmd1,strCmd2,strCmd3,strCmd4;doubletotalresults;totalresults=Convert.ToDouble(textBox29。Text)*0。3+Convert.ToDouble(textBox30.Text)*0.7;textBox31。Text=totalresults。ToString();strCmd1="select*fromStudentwhereSno='"+textBox27.Text+”';";strCmd2=”select*fromCoursewhereCno=’”+textBox28。Text+"';";strCmd3="selectGsno,GcnofromGradeswhereGsno='”+textBox27。Text+"’andGcno=’"+textBox28.Text+"’;";strCmd4="insertintoGradesvalues(’”+textBox27.Text+”','”+textBox28.Text+"’,’"+textBox29.Text+”’,'”+textBox30.Text+”’,'"+totalresults。ToString()+”’);";objectob1,ob2,ob3;ob1=SQLConn.SQLExecuteScalar(strCmd1);if(Convert.ToString(ob1)==”"){if(textBox27.Text!=""){MessageBox。Show("不存在學(xué)號(hào)為”+textBox27。Text+"的學(xué)生信息!\n請(qǐng)重新輸入!",”提示”);textBox27。Text=””;textBox27。Focus();}SQLConn.SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert。ToString(ob2)=="”){if(textBox28.Text!=""){MessageBox.Show("不存在課程號(hào)為"+textBox28.Text+"的課程信息!\n請(qǐng)重新輸入!","提示");textBox28.Text="”;textBox28.Focus();}SQLConn.SQLDat(yī)aConnectionClose();return;}stringstrCmd5;strCmd5=”select*fromCourseSelectionTablewhereSno='"+textBox27。Text+”'andCno=’"+textBox28。Text+"’;";objectob4;ob4=SQLConn.SQLExecuteScalar(strCmd5);if(Convert.ToString(ob4)==”"){if(textBox27.Text!=""&&textBox28.Text!=””){MessageBox。Show("該學(xué)生沒(méi)有選課程號(hào)為”+textBox28。Text+”的課程!不能輸入成績(jī)!",”提示");textBox27.Text=””;textBox28.Text="";textBox29.Text=”";textBox30.Text="”;textBox31。Text="";textBox27.Focus();}SQLConn.SQLDataConnectionClose();return;}ob3=SQLConn.SQLExecuteScalar(strCmd3);if(Convert.ToString(ob3)!=""){MessageBox。Show("已存在學(xué)號(hào)為”+textBox27。Text+”課程號(hào)為"+textBox28.Text+"的成績(jī)信息!\n請(qǐng)重新輸入!”,”提示”);textBox27.Text=”";textBox28.Text="";textBox29。Text="";textBox30.Text="”;textBox31。Text=””;textBox27.Focus();SQLConn.SQLDat(yī)aConnectionClose();return;}SQLConn.SQLExecuteNonQuery(strCmd4);MessageBox。Show(”成績(jī)信息輸入成功!",”提示”);SQLConn.SQLDataConnectionClose();ShowListView();button29_Click(sender,e);button33_Click(sender,e);}tabPage7:報(bào)表在報(bào)表頁(yè)面中,管理員可以通過(guò)報(bào)表的顯示來(lái)查看學(xué)生的成績(jī)登記表、成績(jī)報(bào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Sertraline-hydrochloride-Standard-生命科學(xué)試劑-MCE
- SB251023-生命科學(xué)試劑-MCE
- Salusin-β-生命科學(xué)試劑-MCE
- 市場(chǎng)部人員述職報(bào)告(3篇)
- 2023年浙江省對(duì)外服務(wù)有限公司嘉興分公司招聘筆試真題
- 2023年綏化市青岡縣人民醫(yī)院中醫(yī)醫(yī)院專業(yè)技術(shù)人才招聘筆試真題
- 2024年甾體藥物項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2024年橡膠充氣、減震制品項(xiàng)目提案報(bào)告模板
- 白酒包裝課程設(shè)計(jì)
- 2024年CT設(shè)備項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 物流配送中心規(guī)劃
- 燈泡和電路的亮度和能量消耗
- 標(biāo)書密封條模板大收集
- 小米宏觀產(chǎn)業(yè)環(huán)境分析報(bào)告
- 2024虛擬電廠管理規(guī)范
- 醫(yī)療器械安全生產(chǎn)培訓(xùn)
- 標(biāo)本溢灑應(yīng)急預(yù)案演練圖
- 考研數(shù)學(xué)模擬試卷(數(shù)學(xué)二)(附答案詳解)
- 廣告攝影的技巧與實(shí)踐
- 美的電磁爐產(chǎn)品驗(yàn)收檢驗(yàn)指導(dǎo)書
- -天津市南開(kāi)區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期11月期中英語(yǔ)試題
評(píng)論
0/150
提交評(píng)論