




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品精品可編輯可編輯一、課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求經(jīng)過該課程設(shè)計(jì)要使學(xué)生確立起強(qiáng)烈的工程化意識,用工程化思想和方法開發(fā)軟件。切實(shí)體會出用軟件工程的方法開發(fā)系統(tǒng)與一般程序設(shè)計(jì)方法的不同之處現(xiàn),使學(xué)生具備實(shí)際軟件項(xiàng)目分析、設(shè)計(jì)、實(shí)現(xiàn)和測試的基本能力;至少提交4個(gè)文檔,囊括軟件計(jì)劃、軟件需求規(guī)格說明書、軟件設(shè)計(jì)說明書、軟件測試計(jì)劃,要求文檔格式規(guī)矩、邏輯性強(qiáng)(可參考《計(jì)算機(jī)綜合實(shí)踐指導(dǎo)》中給出的要求及格式)、圖表規(guī)矩;獨(dú)自實(shí)現(xiàn)了系統(tǒng)的某些功能,基本達(dá)到了要求的性能,經(jīng)過測試,基本能運(yùn)行。二、設(shè)計(jì)(實(shí)驗(yàn))正文1.引言系統(tǒng)開發(fā)的背景、目的和意義系統(tǒng)開發(fā)的背景息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其關(guān)于于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并且發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)關(guān)于學(xué)生成績信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)系統(tǒng)開發(fā)的目的和意義由于將數(shù)據(jù)錄入FoxPro的工作是學(xué)校工作人員直接關(guān)于FoxPro數(shù)據(jù)庫的操作,而隨著各學(xué)校的合并且后的人數(shù)的變化導(dǎo)致了管理的復(fù)雜性,所以一些學(xué)校就自己開發(fā)了學(xué)生信息管理系統(tǒng),這就入大量數(shù)據(jù)提供一個(gè)操作簡單、使用方便的友好界面;在已有的數(shù)據(jù)中作簡單的查詢和統(tǒng)計(jì)。系統(tǒng)開發(fā)的工具和環(huán)境VisualStuio2010VisualStuio.2010.NETStuio.NETVisuaStuio.2010提供了囊括設(shè)計(jì)、編碼、編譯調(diào)試、數(shù)據(jù)庫連接操作等基本功能和鑒于開放架構(gòu)的服務(wù)器組件開發(fā)平臺、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評測報(bào)告等高級功能。CC#是一種先進(jìn),面向關(guān)于象的語言,經(jīng)過#可以讓開發(fā)人員快速的建立大范圍的鑒于MS臺的應(yīng)用,并且且提供大量的開發(fā)工具和服務(wù)幫助開發(fā)人員開發(fā)鑒于計(jì)算和通信的各種應(yīng)用。由于是一種面向關(guān)于象的開發(fā)語言,所以C經(jīng)過簡單的WEB的應(yīng)用,并且且能夠經(jīng)過Internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應(yīng)用程序調(diào)用。ASPASP是ActiveServerPage的縮寫,意為“動(dòng)態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁或 Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及 COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單也可以創(chuàng)建使用 HTML網(wǎng)頁作為用戶界面的 web應(yīng)用程序。ServerSQLMicrosoftMicrosoftSQLServer2008是一個(gè)高性能的客戶端/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(letLr8是為了支持高容量的事務(wù)處理(比如在線訂購錄入、存貨目錄、記帳或制造)以及數(shù)據(jù)倉庫和決策支持系統(tǒng)(應(yīng)用MicrosoftWinowsNT4MicrosoftWinows20008Server上——鑒于intelSQLServer2008作為一種個(gè)人桌面數(shù)據(jù)庫系統(tǒng)安裝在運(yùn)行WinowNTWorkstation4、Winows2008Professional、Winows98和WinowsMillenniumEition(Me)的機(jī)器上。系統(tǒng)分析與設(shè)計(jì)系統(tǒng)的需求分析和可行性分析系統(tǒng)的需求分析管理、學(xué)生成績管理以及系統(tǒng)說明等部分。系統(tǒng)應(yīng)具有學(xué)生學(xué)籍信息輸入、刪除和修改的功能,學(xué)生成績信息亦是如此。行數(shù)據(jù)查詢的情況。員經(jīng)過添加用戶并且授權(quán)來設(shè)置相應(yīng)權(quán)限。在系統(tǒng)程序設(shè)計(jì)中應(yīng)充分利用數(shù)據(jù)庫服務(wù)器的處理能力,降低網(wǎng)絡(luò)通信量,盡可能減少數(shù)據(jù)修改沖突,以最大程度地提高系統(tǒng)的執(zhí)行速度和可靠性,真正起到提高工作效率的作用。可行性分析系統(tǒng)可行性主要囊括3個(gè)方面:技術(shù)上的可行性、經(jīng)濟(jì)上的可行性和管理上的可行性。a、系統(tǒng)在技術(shù)上無論是硬件性能要求(囊括外圍設(shè)備,還是軟件性能要求(囊括p、Lr,程序設(shè)計(jì),軟件開發(fā)工具,均可行。b、從開發(fā)項(xiàng)目的成本與效益來看,系統(tǒng)開發(fā)的設(shè)備費(fèi)用、運(yùn)行費(fèi)用、培訓(xùn)費(fèi)用并且不大,而通即時(shí)提供決策信息,促進(jìn)業(yè)務(wù)的規(guī)矩化、系統(tǒng)化、條理化和程序化。c的電腦維持人員來維持電腦,不必?fù)?dān)心電腦故障問題。2.2.1.系統(tǒng)登錄學(xué)籍管理系統(tǒng)——系統(tǒng)登錄模塊,面關(guān)于的用戶是系統(tǒng)管理員、教師以及學(xué)生。主要功能是:系統(tǒng)分三種登錄模式,各模式登錄成功后將進(jìn)入不同的主界面。2.2.2.信息管理學(xué)籍管理系統(tǒng)——信息管理模塊,主要面關(guān)于的用戶是學(xué)校的管理人員。其主要職責(zé):學(xué)生信息的錄入。學(xué)生在入校后,學(xué)校將為每一位學(xué)生分配一個(gè)學(xué)號,根據(jù)學(xué)生所屬系系統(tǒng),以便關(guān)于學(xué)生進(jìn)行統(tǒng)一管理。關(guān)于于學(xué)生而言,學(xué)生需提供學(xué)號和姓名進(jìn)行查詢,目的是為了避免除學(xué)生本身以外的其他學(xué)生盜取信息,進(jìn)行非法行為。2.2.3.成績管理功能。其主要職責(zé)是:成績管理中,以便學(xué)生查詢和期末匯總。學(xué)生成績,但學(xué)生只能查詢自己的成績。2.2.4.系統(tǒng)說明學(xué)籍管理系統(tǒng)——系統(tǒng)說明模塊,主要關(guān)于本系統(tǒng)進(jìn)行說明,方便用戶操作使用。2.2.5.注銷管理學(xué)籍管理系統(tǒng)——注銷管理模塊,主要功能是:注銷用戶。用戶需要更換登陸用戶時(shí),可經(jīng)過注銷,重新從登陸界面登陸到系統(tǒng)。關(guān)閉。退出整個(gè)應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用了E-R圖的方法進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。E-R圖是描述數(shù)據(jù)庫實(shí)體關(guān)系的一種直觀工具。這種圖中有:實(shí)體。用方框表示。方框內(nèi)為實(shí)體的名稱。實(shí)體的各種屬性。用橢圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和相應(yīng)的實(shí)體連接起來。實(shí)體之間的關(guān)系。用菱形表示,菱形內(nèi)為聯(lián)系的名稱。實(shí)體和實(shí)體之間的聯(lián)系較多,比較常見的聯(lián)系有1:1,1:N和M:N這三種。根據(jù)關(guān)于人事管理信息系統(tǒng)情況的掌握,繪制了相應(yīng)的E-R圖。由于數(shù)據(jù)庫中的信息太多,只取部分示例:用戶名 問題答案登錄編號管理員1、管理員登錄信息表用戶名 問題答案登錄編號教師2、教師登錄信息表精品精品用戶名 問題答案登錄學(xué)號學(xué)生3、學(xué)生登錄信息表性別 出生姓名 籍貫學(xué)生信息學(xué)號 班級編號4、學(xué)生信息表班級名稱班級編號 專業(yè)編號班級信息5、班級信息表專業(yè)名稱專業(yè)編號 系部編號可編輯專業(yè)信息精品精品可編輯可編輯6、專業(yè)信息表系部編號 系部名稱系部信息7、系部信息表課程類別 學(xué)時(shí)課程名稱 學(xué)分課程信息課程編號 專業(yè)編號8、課程信息表平時(shí)成績 作業(yè)成績課程編號 考試成績課程信息學(xué)號
最后得分9、成績信息表數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是獨(dú)力于實(shí)際數(shù)據(jù)模型的信息結(jié)構(gòu),必需將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫應(yīng)用設(shè)計(jì)。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型。E-R圖轉(zhuǎn)換成關(guān)系模型的邏輯結(jié)構(gòu),并且根據(jù)選用的數(shù)據(jù)庫管理系統(tǒng)SQLServer所建立的數(shù)據(jù)冗余度小,獨(dú)力性強(qiáng)。建檔、修改、查詢、統(tǒng)計(jì)快而準(zhǔn)確。保密性好、可靠性好。T_Aministrator_user。字段名字段類型能否為空含義Iintnotnull編號Numchar(9)notnull管理員工號Namenvarchar(50)notnull管理員名稱Questionnvarchar(50)null問題Answernvarchar(50)null答案。字段名字段類型能否為空含義Iintnotnull編號Numchar(9)notnull學(xué)號Namenvarchar(50)notnull學(xué)生姓名Questionnvarchar(50)null問題Answernvarchar(50)null答案教師登錄信息表,表名為主鍵為。字段名 字段類型 能否為空 含義I int notnull 編號Numchar(9)notnull教師工號Namenvarchar(50)notnull教師姓名Questionnvarchar(50)null問題Answernvarchar(50)null答案(4)學(xué)生信息表,表名為T_Stuent,主鍵為Num。字段名字段類型能否為空含義Numchar(9)notnull學(xué)號Namenvarchar(8)notnull姓名Sexnchar(2)null性別Birthaysmallatetimenull出生Aressnvarchar(100)null籍貫classIchar(10)null班級編號(5)班級信息表,表名為T_Class,主鍵為classI。字段名字段類型能否為空含義classIchar(10)notnull班級編號classNamenvarchar(50)null班級名稱majorIchar(10)null專業(yè)編號專業(yè)信息表,表名為T_Major,主鍵為majorI。字段名 字段類型 能否為空 含義majorI char(10) notnull 專業(yè)編號majorName nvarchar(50) null 專業(yè)名epartmentI char(10) null 系部編號系部信息表,表名為T_epartment,主鍵為epartmentI。字段名 字段類型 能否為空 含義epartmentI char(10) notnull 系部編號epartmentName null 系部名稱T_CourseCourseI。字段名字段類型能否為空含義CourseIchar(5)notnull課程編號CourseNamenvarchar(50)notnull課程名稱Categorychar(10)null課程類別Periosmallintnull學(xué)時(shí)Creittinyintnull學(xué)分majorI nchar(10) null 專業(yè)編號T_GraeNumCourseI。字段名字段類型能否為空含義Numchar(10)notnull學(xué)號CourseIchar(5)notnull課程編號ailyGraeecimal(5,1)null平時(shí)成績PracticeGraeecimal(5,1)null作業(yè)成績TestGraeecimal(5,1)null考試成績Graeecimal(5,1)null最終得分系統(tǒng)設(shè)計(jì)登錄窗口的設(shè)計(jì)登錄窗口放置了三個(gè)label、兩個(gè)、一個(gè)ComboBox和兩個(gè),其中TextBox鈕“退出”執(zhí)行代碼退出真?zhèn)€系統(tǒng)。如圖:管理員登錄賬戶和密碼都是amin,教師登錄賬戶和密碼都是teacher。實(shí)現(xiàn)代碼如下:publicstaticstringNum;publicstaticstringPerson;privatevoibtnLogin_Click(objectsener,EventArgse){stringName=txtUserName.Text.Trim();Num=txtUserPw.Text.Trim();stringsql="";switch(cbPerson.SelecteInex){case 0: Person = cbPerson.Text; sql = "select * fromT_Aministrator_userwhereNum='"+Num+"'";break;case1:Person=cbPerson.Text;sql="select*fromT_Teacher_userwhereNum='"+Num+"'";break;case2:Person=cbPerson.Text;sql="select*fromT_Stuent_userwhereNum='"+Num+"'";break;}SqlataReaersr=ataOperate.getRow(sql);if(sr.Rea()){if(Name==sr["Name"].ToString()){txtUserPw.Text="";this.Visible=false;if(Person=="Aministrator"||Person=="Teacher"){AminTeacherManagementSystemAminTeacherManagementSystem();atms.Show();
atms = new}if(Person=="Stuent"){StuentManagementSystemStuentManagementSystem();x.Show();
x = new}}else{
}else{}
MessageBox.Show("用戶名錯(cuò)誤,請重新輸入!");MessageBox.Show("關(guān)于不起,用戶不存在!");return;}}privatevoibtnExit_Click(objectsener,EventArgse){Application.Exit();}//注冊private voi linkLabel1_LinkClicke(object LinkLabelLinkClickeEventArgse){AUserA=newAUser();A.Show();}建立應(yīng)用程序主窗口本系統(tǒng)的主窗口如圖:菜單的設(shè)計(jì)系統(tǒng)主界系統(tǒng)設(shè)置添加用戶刪除用戶信息管理信息錄入信息查詢信息修改成績管理成績錄入成績查詢成績修改系統(tǒng)說明注銷注銷關(guān)閉刪除用戶界面的設(shè)計(jì)刪除用戶窗口界面如圖:戶的信息。實(shí)現(xiàn)代碼如下:privateSqlConnectioncon;privateSqlataAaptersapt;privateataSets,s1;privatevoieleteUser_Loa(objectsener,EventArgse){//加載系部信息stringsql="select*fromT_epartment";s1=ataOperate.getataSet(sql,"T_epartment");cbepartment.ataSource=s1.Tables[0];cbepartment.isplayMember="epartmentName";}privatevoibtnLeftAll_Click(objectsener,EventArgse){this.BiningContext[s,"T_Stuent"].Position=0;btnLeftAll.Enable=false;btnLeft.Enable=false;btnRight.Enable=true;btnRightAll.Enable=true;}privatevoibtnLeft_Click(objectsener,EventArgse){if(this.BiningContext[s,"T_Stuent"].Position>0){this.BiningContext[s,"T_Stuent"].Position--;if(this.BiningContext[s,"T_Stuent"].Position==0){btnLeftAll.Enable=false;btnLeft.Enable=false;}btnRight.Enable=true;btnRightAll.Enable=true;}}privatevoibtnRight_Click(objectsener,EventArgse){if(this.BiningContext[s,"T_Stuent"].Position<this.BiningContext[s,"T_Stuent"].Count-1){this.BiningContext[s,"T_Stuent"].Position++;if (this.BiningContext[s, "T_Stuent"].Position this.BiningContext[s,"T_Stuent"].Count-1){btnRight.Enable=false;btnRightAll.Enable=false;}btnLeft.Enable=true;btnLeftAll.Enable=true;}}privatevoibtnRightAll_Click(objectsener,EventArgse){this.BiningContext[s,"T_Stuent"].Position=this.BiningContext[s,"T_Stuent"].Count-1;btnLeft.Enable=true;btnLeftAll.Enable=true;btnRight.Enable=false;btnRightAll.Enable=false;}privatevoibtnelete_Click(objectsener,EventArgse){//刪除學(xué)生賬戶信息inti=this.BiningContext[s,"T_Stuent"].Position;gm=stringsql="eletefromT_Stuent_userwhereNum='"+Num+"'";boolflag=ataOperate.execSQL(sql);if(flag){//刪除T_Stuent表中的數(shù)據(jù)sql="eletefromT_StuentwhereNum='"+Num+"'";boolflag1=ataOperate.execSQL(sql);if(flag1){}else{
MessageBox.Show("刪除成功!");getInfo();MessageBox.Show("刪除用戶信息失敗!");return;}}else{}}
//introwI=this.BiningContext[s,"T_Stuent"].Position;//s.Tables["T_Stuent"].Rows[rowI].elete();//sapt.Upate(s,"T_Stuent");//this.BiningContext[s,"T_Stuent"].Position=0;//btnLeft.Enable=false;//btnLeftAll.Enable=false;//btnRight.Enable=true;//btnRightAll.Enable=true;MessageBox.Show("刪除用戶賬戶失??!");return;privatevoibtnClose_Click(objectsener,EventArgse){this.Close();}privatevoicbepartment_SelecteInexChange(objectsener,EventArgse){stringsql="selectmr.majorNamefromT_Majorasmr,T_epartmentast where t.epartmentName='" + cbepartment.Text + "' mr.epartmentI=t.epartmentI";s1=ataOperate.getataSet(sql,"T_Major");cbMajor.ataSource=s1.Tables[0];cbMajor.isplayMember="majorName";}privatevoicbMajor_SelecteInexChange(objectsener,EventArgse){stringsql="selectcs.classNamefromT_Classascs,T_Majorasmrwheremr.majorName='"+cbMajor.Text+"'ancs.majorI=mr.majorI";s1=ataOperate.getataSet(sql,"T_Class");cbClass.ataSource=s1.Tables[0];cbClass.isplayMember="className";}privatevoicbClass_SelecteInexChange(objectsener,EventArgse){getInfo();}publicvoigetInfo(){con=ataOperate.createConnection();con.Open();stringsql="selectst.Numas'學(xué)號',st.Nameas'姓名',st.Sexas'性別',st.Birthayas'出生',st.Aressas'籍貫'fromT_Stuentasst,T_Classascswherecs.className='"+cbClass.Text+"'anst.classI=cs.classI";sapt=newSqlataAapter(sql,con);s=newataSet();sapt.Fill(s,"T_Stuent");ataGriView1.ataSource=s;ataGriView1.ataMember="T_Stuent";ataGriView1.ReaOnly=true;}其窗口界面如下圖:這里只能關(guān)于學(xué)生進(jìn)行添加,即身份只能選擇Stuent。實(shí)現(xiàn)代碼如下:privatestaticstringsql="";publicstaticstringNum="";publicstaticstringName="";privatevoicbShenFen_SelecteInexChange(objectsener,EventArgse){Num=Name=switch(cbShenFen.SelecteInex){Num+"'";break;"'";break;"'";break;}
case0:sql="select*fromT_Aministrator_userwhereNum='"+case1:sql="select*fromT_Teacher_userwhereNum='"+Num+case2:sql="select*fromT_Stuent_userwhereNum='"+Num+boolflag=ataOperate.seleSQL(sql);if(flag){MessageBox.Show("關(guān)于不起,此用戶已經(jīng)存在!");return;}}privatevoibtnOk_Click(objectsener,EventArgse){//判斷用戶名是否已經(jīng)存在boolflag=ataOperate.seleSQL(sql);if(flag){MessageBox.Show("關(guān)于不起,此用戶已經(jīng)存在!");return;}//如果前兩次都沒有錯(cuò)誤,就將新用戶信息寫入數(shù)據(jù)庫switch(cbShenFen.SelecteInex){e:l=tor"++"','"++"','"++"','"++"')";break;e:l=tor"+t++txtUserName.Text+"','"+txtQuestion.Text+"','"+txtAnswer.Text+"')";break;e:l=tor"+t++txtUserName.Text+"','"+txtQuestion.Text+"','"+txtAnswer.Text+"')";break;}flag=ataOperate.execSQL(sql);if(flag){MessageBox.Show("注冊/添加用戶成功!");if(cbShenFen.SelecteInex==2){InsertInfoII=newInsertInfo();II.Show();}else{}}
}this.Close();MessageBox.Show("注冊/添加用戶失??!");privatevoibtnReset_Click(objectsener,EventArgse){txtNum.Text="";txtNum.Focus();txtUserName.Text="";txtQuestion.Text="";txtAnswer.Text="";}privatevoiAUser_Loa(objectsener,EventArgse){txtNum.Focus();}添加詳細(xì)信息當(dāng)點(diǎn)擊信息錄入界面或添加用戶時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)入添加用戶界面,當(dāng)添加用戶成功后,既而進(jìn)入學(xué)生詳細(xì)信息添加界面,完成學(xué)生用戶以及詳細(xì)信息的添加。實(shí)現(xiàn)代碼如下:privatevoiInsertInfo_Loa(objectsener,EventArgse){txtNum.Text=AUser.Num;txtName.Text=AUser.Name;stringsql="select*fromT_epartment";ataSets=ataOperate.getataSet(sql,"T_epartment");cbepartment.ataSource=s.Tables["T_epartment"];cbepartment.isplayMember="epartmentName";}privatevoicbepartment_SelecteInexChange(objectsener,EventArgse){//根據(jù)系部名稱查詢系部編號string sql = "select epartmentI from T_epartment epartmentName='"+cbepartment.Text+"'";SqlataReaersr=ataOperate.getRow(sql);if(sr.Rea()){stringepartmentI=sr["epartmentI"].ToString();//根據(jù)系部編號查詢專業(yè)信息sql="select*fromT_MajorwhereepartmentI='"+epartmentI+"'";ataSets=ataOperate.getataSet(sql,"T_Major");cbMajor.ataSource=s.Tables["T_Major"];cbMajor.isplayMember="majorName";}}privatevoicbMajor_SelecteInexChange(objectsener,EventArgse){//根據(jù)專業(yè)名稱查詢專業(yè)編號string sql = "select majorI from T_Major where majorName='" +"'";SqlataReaersr=ataOperate.getRow(sql);if(sr.Rea()){stringmajorI=sr["majorI"].ToString();//根據(jù)專業(yè)編號查詢班級信息sql="select*fromT_ClasswheremajorI='"+majorI+"'";ataSets=ataOperate.getataSet(sql,"T_Class");cbClass.ataSource=s.Tables["T_Class"];cbClass.isplayMember="className";}}privatevoibtnSubmit_Click(objectsener,EventArgse){stringSex="";if(rbtnMan.Checke){Sex="男";}if(rbtnWomen.Checke){Sex="女";}SqlConnectioncon=ataOperate.createConnection();con.Open();//根據(jù)班級名稱查詢班級編號stringclassI="";string sql="select classI from T_Class className='"+cbClass.Text+"'";SqlataReaersr=ataOperate.getRow(sql);if(sr.Rea()){classI=sr["classI"].ToString();}sql = "insert into Text+"','"+classI+"')";boolflag=ataOperate.execSQL(sql);if(flag){MessageBox.Show("成功添加信息!");////往學(xué)生成績表中添加學(xué)生信息//sql="insertintoT_Grae(Num)values('"+AUser.Num+"')";//ataOperate.execSQL(sql);AUserau=newAUser();au.Show();this.Visible=false;}else{MessageBox.Show("添加信息失敗!");return;}}privatevoibtnReset_Click(objectsener,EventArgse){Reset();}publicvoiReset(){txtBirthay.Text="";txtAress.Text="";}其窗口界面如下:窗體加載時(shí),經(jīng)過查詢數(shù)據(jù)庫中系部信息,將系部信息填充到系部;當(dāng)系部的值發(fā)生改變時(shí),將并且填充到班級;最后經(jīng)過班級值查找該班級中一切學(xué)生的信息。實(shí)現(xiàn)代碼如下:privatevoiAminTeacherSelectInfo_Loa(objectsener,EventArgse){stringsql="selectepartmentNamefromT_epartment";ataSets=ataOperate.getataSet(sql,"T_epartment");cbepartment.ataSource=s.Tables["T_epartment"];cbepartment.isplayMember="epartmentName";}privatevoicbepartment_SelecteInexChange(objectsener,EventArgse){stringsql="selectmajorNamefromT_epartmentas,T_MajorasmwhereepartmentName='"+cbepartment.Text+"'an.epartmentI=m.epartmentI";ataSets=ataOperate.getataSet(sql,"T_Major");cbMajor.ataSource=s.Tables["T_Major"];cbMajor.isplayMember="majorName";}privatevoicbMajor_SelecteInexChange(objectsener,EventArgse){stringsql="selectclassNamefromT_Majorasm,T_ClassascwheremajorName='"+cbMajor.Text+"'anm.majorI=c.majorI";ataSets=ataOperate.getataSet(sql,"T_Class");cbClass.ataSource=s.Tables["T_Class"];cbClass.isplayMember="className";}privatevoicbClass_SelecteInexChange(objectsener,EventArgse){stringsql="selects.Numas'學(xué)號',s.Nameas'姓名',s.Sexas'性別',s.Birthayas'出生',s.Aressas'地址'fromT_Stuentass,T_ClassascwhereclassName='"+cbClass.Text+"'anc.classI=s.classI";ataSets=ataOperate.getataSet(sql,"T_Stuent");gvStuInfo.ataSource=s;gvStuInfo.ataMember="T_Stuent";}其窗口界面如下:經(jīng)過學(xué)號和姓名,查找出具體學(xué)生的信息,經(jīng)確認(rèn)可以修改后,點(diǎn)擊查詢按鈕,將查詢出該條件下的用戶的信息;此時(shí),按鈕的文本值將變成“修改的數(shù)據(jù)修改用戶信息;信息修改成功后,一切信息又回到不可編輯狀態(tài)。實(shí)現(xiàn)代碼如下:privatestringepartment="";privatevoibtnBrowse_Click(objectsener,EventArgse){if(btnBrowse.Text=="查詢"){stringsql="select*fromT_StuentwhereNum='"+txtNum.Text+"'anName='"+txtName.Text+"'";SqlataReaersr=ataOperate.getRow(sql);if(sr.Rea()){txtName1.Text=sr["Name"].ToString();stringSex=sr["Sex"].ToString();if(Sex=="男"){rbtnMan.Checke=true;}else{rbtnWomen.Checke=true;}txtBirthay.Text=sr["Birthay"].ToString();txtAress.Text=stringclassI=//根據(jù)班級編號classI查詢班級信息sql="select*fromT_ClasswhereclassI='"+classI+"'";sr=ataOperate.getRow(sql);if(sr.Rea()){cbClass.Text=sr["className"].ToString();stringmajorI=sr["majorI"].ToString();//根據(jù)專業(yè)編號majorI查詢專業(yè)信息sql="select*fromT_MajorwheremajorI='"+majorI+"'";sr=ataOperate.getRow(sql);if(sr.Rea()){cbMajor.Text=sr["majorName"].ToString();stringepartmentI=sr["epartmentI"].ToString();//查詢部門信息sql="select*fromT_epartmentwhereepartmentI='"+epartmentI+"'";sr=ataOperate.getRow(sql);if(sr.Rea()){cbepartment.Text =sr["epartmentName"].ToString();epartment=sr["epartmentName"].ToString();btnBrowse.Text="修改";}}}}else{MessageBox.Show("關(guān)于不起,無此記錄!");Empty();}}elseif(btnBrowse.Text=="修改"){//加載班級信息stringsql="select*fromT_epartment";ataSets=ataOperate.getataSet(sql,"T_epartment");cbepartment.ataSource=s.Tables["T_epartment"];cbepartment.isplayMember="epartmentName";btnBrowse.Text="保存";txtName.Enable=true;rbtnMan.Enable=true;rbtnWomen.Enable=true;txtBirthay.Enable=true;txtAress.Enable=true;cbepartment.Enable=true;cbMajor.Enable=true;cbClass.Enable=true;}else//保存信息{stringSex="";stringclassI="";if(rbtnMan.Checke){Sex="男";}else{Sex="女";}string sql1 = "select * from T_Class className='"+cbClass.Text+"'";SqlataReaersr=ataOperate.getRow(sql1);try{sr.Rea();classI=sr["classI"].ToString();}catch(Exceptionee){MessageBox.Show(ee.Message);}string sql2 = "upate T_Stuent whereboolflag=ataOperate.execSQL(sql2);if(flag){MessageBox.Show("修改成功!");btnBrowse.Text="查詢";txtName1.Enable=false;rbtnMan.Enable
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 草房子讀后感成長中的困惑與希望
- 節(jié)約用水產(chǎn)品推廣合作協(xié)議
- 數(shù)據(jù)驅(qū)動(dòng)的智能營銷策略推廣合同
- 紅色經(jīng)典故事紅巖讀后感
- 社交電商大數(shù)據(jù)驅(qū)動(dòng)平臺
- 專利使用費(fèi)支付協(xié)議
- 桃花源記情景劇教案
- 農(nóng)業(yè)生產(chǎn)資源節(jié)約與環(huán)境保護(hù)行動(dòng)計(jì)劃
- 產(chǎn)品設(shè)計(jì)思路表格
- 高考語文的文言文翻譯誤區(qū)分析
- 2025年廣西職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))參考試題庫資料及答案
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院單招職業(yè)傾向性測試題庫帶答案
- 四年級下冊 道德與法治 全冊教案
- 個(gè)人租房房屋合同范本
- MSA測量系統(tǒng)培訓(xùn)
- 冷庫安全培訓(xùn)
- 線上教育平臺教師教學(xué)行為規(guī)范與責(zé)任書
- 2025年內(nèi)蒙古法院系統(tǒng)招聘用制書記員2988人過渡高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 《環(huán)境污染對生態(tài)系統(tǒng)的影響》課件
- 2024年保安員證資格考試題庫及答案
評論
0/150
提交評論