【正文】
View。()。}catch (SqlException ex){()。}finally{()。()。}}private void Frmstqkcx_Load(object sender, EventArgs e){display()。}private void button1_Click(object sender, EventArgs e){陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 31 頁(yè) 共 66 頁(yè)SqlConnection con =()。DataSet ds = new DataSet()。SqlDataAdapter adp = new SqlDataAdapter(selectResult, con)。 = 。if(){(@operaterId,20).Value= 。(@state, , 20).Value = 不合格。}if(){(@operaterId, , 20).Value = 。(@state, , 20).Value = 合格 }()。}(ds, 0)。 = [0].DefaultView。}畢業(yè)設(shè)計(jì)成績(jī)查詢(xún)主要代碼:private void button1_Click(object sender, EventArgs e){string sql=null。string ss = (((())) 4).Substring(2)。 if ( == 請(qǐng)選擇 ){(請(qǐng)選擇查詢(xún)條件)。}else{if(==姓名 amp。amp。(())!=請(qǐng)選擇){sql=select stuName as 39。姓名 39。,stuMajor as 39。專(zhuān)業(yè)39。,class as 39。班級(jí)39。,topName as 39。題目39。,teaGrade as 39。指導(dǎo)教師成績(jī)39。,replyGrade as 39。答辯成績(jī)39。,reviewGrade as 39。評(píng)閱人成績(jī)39。,totalGrade as 39。綜合39。 from TB_Student,TB_Topic where stuTopId=topId and stuName=39。 +()+ 39。 }else if(==全部){sql = select stuName as 39。姓名39。,stuMajor as 39。專(zhuān)業(yè)39。,class as 39。班級(jí)39。,topName as 39。題目39。,teaGrade as 39。指導(dǎo)教師成績(jī)39。,replyGrade as 39。答辯成績(jī)39。,reviewGrade as 39。評(píng)閱人成績(jī)39。,totalGrade as 39。綜合39。 from TB_Student,TB_Topic,TB_Teacher where topTeacher=tchName and stuTopId=topId and tchNo=39。 + + 39。 and class like 39。 + ss + %39。}else if ( == 專(zhuān)業(yè) amp。amp。 (()) != 請(qǐng)選擇){sql = select stuName as 39。姓名39。,stuMajor as 39。專(zhuān)業(yè)39。,class as 39。班級(jí)39。,topName as 39。題目39。,teaGrade as 39。指導(dǎo)教師成績(jī)39。,replyGrade as 39。答辯成績(jī)39。,reviewGrade as 39。評(píng)閱人成績(jī)39。,totalGrade as 39。綜合39。 from TB_Student,TB_Topic where stuTopId=topId and class like 39。 + ss + %39。 and stuMajor=39。 + () + 39。}else if ( == 班級(jí) amp。amp。 (()) != 請(qǐng)選擇){sql = select stuName as 39。姓名39。,stuMajor as 39。專(zhuān)業(yè)39。,class as 39。班級(jí)39。,topName as 39。題目39。,teaGrade as 39。指導(dǎo)陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 32 頁(yè) 共 66 頁(yè)教師成績(jī)39。,replyGrade as 39。答辯成績(jī)39。,reviewGrade as 39。評(píng)閱人成績(jī)39。,totalGrade as 39。綜合39。 from TB_Student,TB_Topic,TB_Teacher where topTeacher=tchName and stuTopId=topId and class=39。 + () +39。}openDB()。SqlDataAdapter dap = new SqlDataAdapter(sql,con)。DataSet ds = new DataSet()。(ds,0)。 = [0].DefaultView。if(==ConnectionState .Open ){()。}} 成績(jī)統(tǒng)計(jì)模塊教研室主任在畢業(yè)設(shè)計(jì)成績(jī)錄入系統(tǒng)之后可按專(zhuān)業(yè)及班級(jí)對(duì)成績(jī)進(jìn)行統(tǒng)計(jì),如圖 所示。圖 成績(jī)統(tǒng)計(jì)成績(jī)統(tǒng)計(jì)相關(guān)代碼如下:private void boBox1_SelectedIndexChanged(object sender, EventArgs e){string sql = 。string ss = (((())) 4).Substring(2)。if (() == 專(zhuān)業(yè)){sql = select tchMajor from TB_Teacher where tchNo= + + 。}if (() == 班級(jí)){sql = select distinct class from TB_Student,TB_Teacher where stuMajor=tchMajor and tchNo= + + and class like 39。 + ss + %39。}陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 33 頁(yè) 共 66 頁(yè)openDB()。try{()。 = 請(qǐng)選擇 。SqlCommand = new SqlCommand(sql, con)。SqlDataReader da = ()。while (()){(da[0].ToString())。}()。 }private string sqlWrite(string str){string m = null。 try{openDB()。SqlCommand = new SqlCommand(select count(*) from TB_Student where stuMajor=39。 + () + 39。 and class like 39。 + ss + %39。 and totalGrade=39。+str+39。,con)。m = ().ToString()。}()。return m。}private string sqlWriteClass(string str) //按照班級(jí)統(tǒng)計(jì){string m = null。 try{openDB()。SqlCommand = new SqlCommand(select count(*) from TB_Student where stuMajor in (select tchMajor from TB_Teacher where tchNo=39。++39。 ) and class=39。+()+39。 and totalGrade=39。 + str + 39。, con)。m = ().ToString()。}()。return m。}private void button1_Click(object sender, EventArgs e){ = 100%。SqlCommand =null。SqlCommand maxi=null。SqlCommand agv=null。if((()==專(zhuān)業(yè))amp。amp。(())!= 請(qǐng)選擇)陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 34 頁(yè) 共 66 頁(yè){ = sqlWrite(優(yōu)秀)。 = sqlWrite(良好 )。 = sqlWrite(中等 )。 = new SqlCommand(select count(*) from TB_Student where stuMajor=39。 + () + 39。 and class like 39。 + ss + %39。, con)。maxi = new SqlCommand(select max(total),min(total) from TB_Student where stuMajor=39。+()+39。 and class like 39。+ss+%39。,con)。agv = new SqlCommand(select avg(total) from TB_Student where stuMajor=39。 + () + 39。 and class like 39。 + ss + %39。,con)。}else if ((() == 班級(jí)) amp。amp。 (()) != 請(qǐng)選擇){ =sqlWriteClass (優(yōu)秀)。 = sqlWriteClass (良好)。 = sqlWriteClass (中等)。 = new SqlCommand(select count(*) from TB_Student where stuMajor in (select tchMajor from TB_Teacher where tchNo=39。 + + 39。 ) and class=39。 + () + 39。, con)。maxi = new SqlCommand(select max(total),min(total) from TB_Student where stuMajor in (select tchMajor from TB_Teacher where tchNo=39。 + + 39。 ) and class=39。 + () + 39。, con)。agv = new SqlCommand(select avg(total) from TB_Student where stuMajor in (select tchMajor from TB_Teacher where tchNo=39。 + + 39。 ) and class=39。 + () + 39。, con)。}openDB()。 = ().ToString()。SqlDataReader dr = ()。while (()){ = dr[0].ToString()。 = dr[1].ToString()。}()。openDB()。SqlDataReader da = ()。while (()){ = da[0].ToString()。}()。float sum = (().ToString())。double you = (().ToString())。double liang = (().ToString())。float zhong = (().ToString())。陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 35 頁(yè) 共 66 頁(yè) = (sumyou zhong liang )。float cha = (().ToString())。if ( ()== 0){ = %。}else{ = ((you / sum) * 100).Substring(0, 4) + %。}if ( ()== 0){ = %。}else{ = ((liang/ sum) * 100).Substring(0, 4) + %。} if (() == 0){ = %。}else{ = ((zhong / sum) * 100).Substring(0, 4) + %。}if (() == 0){ = %。}else{ = ((cha / sum) * 100).Substring(0, 4) + %。} }陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 36 頁(yè) 共 66 頁(yè)5 系統(tǒng)測(cè)試在本次畢業(yè)設(shè)計(jì)中,主要用到了黑盒測(cè)試。黑盒測(cè)試也稱(chēng)功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試中,把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。測(cè)試用例是為系統(tǒng)測(cè)試而編制的一組測(cè)試輸入、輸出以及預(yù)期結(jié)果,以便測(cè)試模塊之間數(shù)據(jù)接口是否滿(mǎn)足某個(gè)特定需求或集成后的功能是否滿(mǎn)足要求。下表 。 表 例編號(hào) 測(cè)試模塊 輸入 輸出 預(yù)期結(jié)果 是否符合預(yù) 期結(jié)果用 Test001 登錄模塊不輸入用戶(hù)名和密碼,直接按登錄按鈕登錄彈出對(duì)話(huà)框用戶(hù)名戶(hù)密碼本能為空,無(wú)法登錄系統(tǒng)。如圖 所示。無(wú)法登錄模塊 符