蘭州商學(xué)院網(wǎng)絡(luò)教務(wù)管理系統(tǒng)_第1頁
蘭州商學(xué)院網(wǎng)絡(luò)教務(wù)管理系統(tǒng)_第2頁
蘭州商學(xué)院網(wǎng)絡(luò)教務(wù)管理系統(tǒng)_第3頁
蘭州商學(xué)院網(wǎng)絡(luò)教務(wù)管理系統(tǒng)_第4頁
蘭州商學(xué)院網(wǎng)絡(luò)教務(wù)管理系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程名稱:管理信息系統(tǒng)分析與設(shè)計班級:09信管一班姓名:任志雄學(xué)號:20090702115目錄概述項目背景--—--——-—--——-—-—--—----—----————-——---—-—-——---—--—-——--3編寫目的—------—----------——-—--—--———--——----—--—-—-3開發(fā)環(huán)境--—-————----—-———--—--—--——----——--—----———--—--—-——-—4需求分析2.1信息要求—-—------—----—--—---—--—--—————--—-—----——--——42。2處理要求-—-—-—---——————-—--——---—--——--------—--———-—----—---42。3安全性與完整性要求-—-—-—--—--—-——-—---———--——----—--——---—6三、概要設(shè)計3.1系統(tǒng)功能圖--———-—-—-----—--—----——-——-——-—------———---—7四、概念結(jié)果設(shè)計4。1基本E-R圖設(shè)計——--——-——-—-————-——-----—7五、邏輯結(jié)構(gòu)設(shè)計5.1E-R圖的轉(zhuǎn)換——---——------——----——--——--—-----—--—--—---——-—-9六、主要模塊的設(shè)計以及代碼——-—-——-—--—------116。1登錄模塊設(shè)計——--—---—---———-—---—---—-——--—---—---—----—-—-126.2管理員、教師、學(xué)生模塊設(shè)計——----—--—-——--------———--—136。3存儲過程—--—————-—---—---—-—-—--—-----——--—------——--—-—---—--—----28七、總結(jié)7.1遇到的問題以及解決方法---—-—--————-—————---297.2設(shè)計的體會——-----—-—-—-----——------—-—---——-—---—----------—-—---30概述1項目背景隨著科學(xué)技術(shù)、管理方法的不斷進步,傳統(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)異性能,幫助工作人員提高工作的效率、減少出錯情況.同時還能提供快速的查詢檢索功能。2編寫目的本系統(tǒng)的設(shè)計旨在實現(xiàn)管理員、教師以及學(xué)生對信息的查詢、修改以及更新提供便利性。教學(xué)管理系統(tǒng)是一個輔助學(xué)校教務(wù)人員完成日常工作中,涉及教師管理、課程管理和成績管理等項目的日常比較繁重的工作.它應(yīng)用計算機在數(shù)據(jù)處理和數(shù)據(jù)整理保存方面的優(yōu)異性能,幫助工作人員提高工作的效率、減少出錯情況。3開發(fā)環(huán)境經(jīng)過思考和選擇,決定以.netC#來實現(xiàn)本系統(tǒng).需求分析2.1信息要求本次系統(tǒng)設(shè)計主要需要的信息如下所示,這些信息都是以表的形式存在數(shù)據(jù)庫中,當(dāng)需要輸入、刪除、修改等信息時可以通過執(zhí)行SQL語句來實現(xiàn)。1、學(xué)生信息:學(xué)號、姓名、性別、出生日期、入學(xué)成績、所在系號。2、教職工信息:職工號、姓名、性別、出身年月、所在系號、職稱、專業(yè)及教學(xué)方向。3、系的基本信息:系號、系名稱、系的簡介。4、課程信息:課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間.5、成績信息:學(xué)號、課程號、平時成績、考試成績、總評成績。2.2處理要求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)任的課程).2.3安全性與完整性要求在數(shù)據(jù)庫中,各個表之間是有聯(lián)系的,它們存在著參照完整性,在刪除數(shù)據(jù)時,要考慮到一個表中的數(shù)據(jù)刪除的同時也要刪除另一個表中對應(yīng)的數(shù)據(jù)項.概要設(shè)計3.1系統(tǒng)功能圖結(jié)構(gòu)蘭州商學(xué)院教學(xué)管理系統(tǒng)的功能結(jié)構(gòu)圖如下:四、概念結(jié)果設(shè)計4。1基本E—R圖設(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é)成績教師:教師教師職工號姓名性別出生日期職稱所在系號專業(yè)及教學(xué)方向系:系系系號系名系簡介課程:課程課程課程號課程名教師號學(xué)時上課時間學(xué)分上課地點考試時間全局E—R圖:五、邏輯結(jié)構(gòu)設(shè)計5.1E-R圖的轉(zhuǎn)換表一覽:?Account(用戶登錄表)、Course(課程表)、Student(學(xué)生表)、Teacher(教師表)、Dept(系表)、Grades(成績表)。表結(jié)構(gòu):1、Account(用戶登錄表)2、Course(課程表)3、Student(學(xué)生表)4、Teacher(教師表)5、Dept(系表)6、Grades(成績表)六、主要模塊的設(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();SQLConnection。ConnectionString="Server=”+ServerIP+”;Userid=sa;pwd=123456;DataBase=TeachingManagementSystem”;SQLConnection.Open();}publicvoidSQLDataConnectionClose()//實現(xiàn)數(shù)據(jù)庫的關(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í)行返回數(shù)據(jù)集的Select語句,返回一個DataReader對象MyCommand=newSqlCommand(strCmd,SQLConnection);SqlDat(yī)aReadersdr=MyCommand.ExecuteReader();returnsdr;}}6.1登錄模塊設(shè)計在本程序的登錄模塊中,當(dāng)用戶輸入用戶名、密碼及其登錄權(quán)限后,會對數(shù)據(jù)與數(shù)據(jù)庫的數(shù)據(jù)進行對比,若相同則進入相應(yīng)的權(quán)限界面,以進行相應(yīng)的操作。登錄界面如下圖所示:?登錄按鈕的單擊消息響應(yīng):當(dāng)用戶輸入用戶名、密碼,單擊登錄按鈕后,數(shù)據(jù)會與數(shù)據(jù)庫的數(shù)據(jù)進行對比,若相同則通過,否則會提示用戶相應(yīng)的錯誤報告。代碼如下:privatevoidbutton1_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox1.Text)){MessageBox。Show("用戶名不能為空,請輸入用戶名!",”提示”);textBox1.Focus();return;}elseif((string.IsNullOrEmpty(textBox2.Text)){MessageBox.Show(”密碼不能為空,請輸入密碼!","提示");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("沒有此用戶!\n或者用戶名或密碼錯誤!\n請重新輸入或者注冊當(dāng)前用戶!",”提示");label6.Text=ProduceCheckCode();}sdr.Close();SQLConn。SQLDataConnectionClose();}6.2管理員、教師、學(xué)生模塊設(shè)計本程序的操作端是通過TabControl控件實現(xiàn)的,各個tabPage頁都放在了一個對話框上,對于不同的登錄權(quán)限,會在對話框的初始化函數(shù)中通過調(diào)用tabControl1.TabPages.Remove();函數(shù)來實現(xiàn)某個tabPage頁的隱藏,以體現(xiàn)不同的權(quán)限功能。?所以這里只需要對管理員端的各個操作進行說明即可,整個界面如下圖所示:tabPage1:學(xué)生管理在學(xué)生管理頁面中,管理員可以對學(xué)生信息進行查詢、刪除、修改、錄入、及其轉(zhuǎn)學(xué)/畢業(yè)操作等.另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個學(xué)生的信息后,如果此學(xué)生選了課,并且有了成績,系統(tǒng)會同時把此學(xué)生的選課記錄、成績記錄刪除。當(dāng)錄入一個學(xué)生的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該學(xué)生的信息,若存在提示不能重復(fù).其錄入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton1_Click(objectsender,EventArgse){if(string。IsNullOrEmpty(textBox1.Text)){MessageBox。Show("學(xué)號不能為空,請輸入學(xué)號!”,"提示”);textBox1.Focus();return;}elseif(string.IsNullOrEmpty(textBox2.Text)){MessageBox。Show("姓名不能為空,請輸入姓名!”,"提示");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é)號為"+textBox1。Text+"的信息!\n請重新輸入!”,"提示");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(”不存在系號為"+textBox5.Text+”的系信息!\n請重新輸入!",”提示");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:系管理在系管理頁面中,管理員可以對系的信息進行查詢、刪除、修改、輸入。另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個系的信息后,在該系的所有學(xué)生記錄會同時刪除,與此相應(yīng)的選課、成績記錄也會被刪除。當(dāng)錄入一個系的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該系的信息,若存在提示不能重復(fù)。其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:?privat(yī)evoidbutton7_Click(objectsender,EventArgse){if(textBox7。Text==""){string.IsNullOrEmpty(textBox7.Text)MessageBox。Show(”系號不能為空,請輸入系號!",”提示");textBox7。Focus();return;}elseif(string。IsNullOrEmpty(textBox8。Text)){MessageBox.Show("系名不能為空,請輸入系名!",”提示");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("已存在系號為”+textBox7.Text+"的信息!\n請重新輸入!”,"提示");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:課程管理在課程管理頁面中,管理員可以對課程信息進行查詢、刪除、修改、輸入。另外,各個表之間是有聯(lián)系的,當(dāng)刪除一個課程的信息后,選擇此課程的選課記錄,成績記錄也會被同時刪除。當(dāng)錄入一個課程的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該課程的信息,若存在提示不能重復(fù)。其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privat(yī)evoidbutton12_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox10。Text)){MessageBox.Show(”課程號不能為空,請輸入課程號!","提示”);textBox10.Focus();return;}elseif(string.IsNullOrEmpty(textBox11。Text)){MessageBox。Show("課程名不能為空,請輸入課程名!”,"提示”);textBox11.Focus();return;}elseif(string。IsNullOrEmpty(textBox12.Text)){MessageBox。Show("任課教師號不能為空,請輸入課程名!","提示");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("已存在課程號為”+textBox10.Text+"的信息!\n請重新輸入!",”提示");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(”不存在教師號為"+textBox12.Text+"的教師信息?。埽钫堉匦螺斎耄。?"提示");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:教師管理在教師管理頁面中,管理員可以對教師信息進行查詢、刪除、修改、輸入。當(dāng)錄入一個教師的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該教師的信息,若存在提示不能重復(fù).其輸入按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton17_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBo6.Text)){MessageBox。Show(”職工號不能為空,請輸入!”,"提示");textBox6。Focus();return;}elseif(string.IsNullOrEmpty(textBox18.Text)){MessageBox.Show("姓名不能為空,請輸入!”,"提示");textBox18.Focus();return;}elseif(string.IsNullOrEmpty(textBox20.Text)){MessageBox。Show(”所在系號不能為空,請輸入!","提示");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(”已存在職工號為”+textBox6.Text+"的信息!\n請重新輸入!",”提示");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("不存在系號為”+textBox20.Text+"的系信息!\n請重新輸入!","提示");textBox20.Text=”";textBox20.Focus();}SQLConn。SQLDataConnectionClose();return;}SQLConn。SQLExecuteNonQuery(strCmd);MessageBox.Show("職工信息輸入成功!”,”提示”);//控件清空?。簦鍃tBox6.Text=””;textBox18.Text=”";textBox19.Text="";textBox20.Text="”;textBox21。Text="";textBox22。Text="";textBox23.Text=”";textBox6。Focus();SQLConn.SQLDat(yī)aConnectionClose();button19_Click(sender,e);}tabPage5:選課管理在選課管理頁面中,管理員可以對選課信息進行查詢、刪除、修改、輸入.當(dāng)錄入一個選課的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該選課的信息,若存在提示不能重復(fù)。其提交按鈕的單擊消息相應(yīng)函數(shù)代碼為:privatevoidbutton22_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox24。Text)){MessageBox。Show("學(xué)號不能為空,請輸入!","提示");textBox24.Focus();return;}elseif(string.IsNullOrEmpty(textBox25。Text)){MessageBox.Show("課程號不能為空,請輸入!","提示”);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é)號為”+textBox24。Text+"的學(xué)生信息!\n請重新輸入!”,"提示");textBox24.Text="";textBox24.Focus();}SQLConn。SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob2)==”"){if(textBox25。Text!=""){MessageBox.Show(”不存在課程號為”+textBox25.Text+"的課程信息!\n請重新輸入!",”提示");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é)號為"+textBox24。Text+"課程號為”+textBox25.Text+”的信息!\n請重新輸入!","提示");textBox24.Text="”;textBox25.Text="";textBox24.Focus();SQLConn.SQLDat(yī)aConnectionClose();return;}doublesum=TotalCredit(textBox24.Text);if((Convert。ToDouble(credits)+sum)>=15){MessageBox.Show("選擇此課程后,總學(xué)分將超過15,不能再選課!",”提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);return;}elseSQLConn.SQLExecuteNonQuery(strCmd5);intZongSum=(int)(Convert.ToDouble(credits)+sum);stringCcreditsSum=”選課信息提交成功!\n學(xué)號為"+textBox24.Text+"\n的學(xué)生選課的總學(xué)分為:"+ZongSum.ToString();MessageBox。Show(CcreditsSum,"提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);}tabPage6:成績管理在成績管理頁面中,管理員可以對成績信息進行查詢、刪除、修改、輸入。當(dāng)錄入一個成績的信息時,系統(tǒng)提供了判斷機制,系統(tǒng)會先檢查數(shù)據(jù)庫中是否已存在該選課的信息,若存在提示不能輸入。另外當(dāng)輸入一個學(xué)生的成績時,系統(tǒng)會從選課表中查找是否該學(xué)生選了此課程若沒有選,則提示用戶不能輸入該學(xué)生的成績信息。其提交按鈕的單擊消息相應(yīng)函數(shù)代碼為:privat(yī)evoidbutton27_Click(objectsender,EventArgse){if(textBox27。Text==""){MessageBox.Show(”學(xué)號不能為空,請輸入!”,”提示");textBox27。Focus();return;}elseif(textBox28。Text==”"){MessageBox.Show(”課程號不能為空,請輸入?。ⅲ碧崾荆ⅲ?;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é)號為”+textBox27。Text+"的學(xué)生信息!\n請重新輸入?。?”提示”);textBox27。Text=””;textBox27。Focus();}SQLConn.SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert。ToString(ob2)=="”){if(textBox28.Text!=""){MessageBox.Show("不存在課程號為"+textBox28.Text+"的課程信息!\n請重新輸入!","提示");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é)生沒有選課程號為”+textBox28。Text+”的課程!不能輸入成績!",”提示");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é)號為”+textBox27。Text+”課程號為"+textBox28.Text+"的成績信息!\n請重新輸入!”,”提示”);textBox27.Text=”";textBox28.Text="";textBox29。Text="";textBox30.Text="”;textBox31。Text=””;textBox27.Focus();SQLConn.SQLDat(yī)aConnectionClose();return;}SQLConn.SQLExecuteNonQuery(strCmd4);MessageBox。Show(”成績信息輸入成功!",”提示”);SQLConn.SQLDataConnectionClose();ShowListView();button29_Click(sender,e);button33_Click(sender,e);}tabPage7:報表在報表頁面中,管理員可以通過報表的顯示來查看學(xué)生的成績登記表、成績報

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論