版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
教學(xué)事務(wù)管理系統(tǒng)實例一、系統(tǒng)分析1.1背景分析隨著我國高等教育由精英化教育進入大眾化教育,全國各所高校學(xué)生人數(shù)的增加,社會的信息化發(fā)展,教學(xué)管理從原來的人工管理逐步向計算機管理成為必然,利用計算機來管理整個教學(xué)過程,來提高教學(xué)事務(wù)管理的效率,從而解決手工管理的效率低、易出錯、耗費人力等問題。通過該系統(tǒng)的實施,將繁雜的教學(xué)事務(wù)管理等方面通過系統(tǒng)來實施,其中包括對學(xué)生的學(xué)籍管理,課程的選擇,成績錄入,各種通知單的打印輸出等。使得教學(xué)事務(wù)方便快捷,以此來提高學(xué)校教學(xué)事務(wù)的運轉(zhuǎn)效率。1.2功能需求分析1.2.1總體功能通過對學(xué)校教務(wù)處、各教學(xué)單位的詳細(xì)調(diào)查,要求本系統(tǒng)應(yīng)具有以下功能:(1)系統(tǒng)使用人員比較多,需要較好的權(quán)限管理設(shè)置。(2)提供學(xué)生、教師、課程、選課等信息查詢。(3)學(xué)生、教師、院系、班級、課程、學(xué)生選課等信息的錄入、修改、刪除操作的管理。(4)靈活的信息打印功能。(5)完善的用戶管理機制,以增強系統(tǒng)的安全性。(6)數(shù)據(jù)備份及恢復(fù)功能,保證系統(tǒng)數(shù)據(jù)的安全性。1.2.2復(fù)雜的教學(xué)事務(wù)管理系統(tǒng)軟件對于用戶而言太龐大、太復(fù)雜,使用起來效果并不是很好。這就需要數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員開發(fā)出一套即界面友好、操作簡便,功能又比較強大的教學(xué)事務(wù)管理系統(tǒng)軟件來管理繁雜的教學(xué)事務(wù)相關(guān)信息。本教學(xué)事務(wù)管理系統(tǒng),包括學(xué)生、教師、院系、課程、成績等在內(nèi)的基礎(chǔ)數(shù)據(jù)管理、數(shù)據(jù)打印、學(xué)生添加選修課、教師修改學(xué)生選課信息及系統(tǒng)管理等幾部分。1.2.3總體教學(xué)事務(wù)管理系統(tǒng)后臺是一個以SQLServer2005為數(shù)據(jù)庫的管理系統(tǒng),系統(tǒng)由學(xué)生管理平臺、教師平臺、管理員平臺及系統(tǒng)管理模塊組成,規(guī)劃系統(tǒng)功能模塊如下。⒈學(xué)生平臺主要實現(xiàn)查詢功能,還有添加選課功能。學(xué)生平臺分為3個部分:學(xué)生本人的詳細(xì)基本信息查詢核實,綜合查詢和實現(xiàn)部分添加選課信息。⑴學(xué)生本人的詳細(xì)基本信息查詢核實,學(xué)生基本信息包括:學(xué)號,姓名,性別,密碼(提供給學(xué)生登錄系統(tǒng)進行部分信息操作時使用),入學(xué)時間,學(xué)籍狀態(tài),政治面貌,年齡,聯(lián)系方式(E-mail,電話號碼),所屬院系,所屬專業(yè),所屬班級,籍貫,住宿信息(住宿樓號,宿舍號),個人照片等。學(xué)生查詢核實時,必須輸入本人學(xué)號,姓名,以及密碼。⑵綜合查詢包括查詢院系信息,專業(yè)信息,班級信息,選課信息,課程信息,成績信息。查詢時,只需要選擇相關(guān)信息輸入相關(guān)條件,即可查詢。⑶實現(xiàn)部分選課信息即學(xué)生可以對一些選修課進行選修,但是對必修課不許進行自行選課。⒉教師平臺主要實現(xiàn)查詢功能,還有部分學(xué)生信息操作功能。教師平臺包括3個部分:本人詳細(xì)信息查詢核實,綜合查詢,實現(xiàn)學(xué)生選課信息的修改。⑴本人詳細(xì)信息查詢核實,教師基本信息包括:教師編號和姓名,密碼,(供給教師登錄該系統(tǒng)時,對系統(tǒng)部分信息進行操作)性別,年齡,教師職稱,執(zhí)教時間,政治面貌,所屬院系,聯(lián)系方式(電子郵箱,電話號碼),住宿信息(住宿樓號,宿舍號),籍貫,月薪,個人照片等。查詢核實時,教師必須輸入:教師編號,姓名,密碼。⑵綜合查詢包括查詢院系信息,專業(yè)信息,班級信息,選課信息,課程信息,成績信息。查詢時,只需要選擇相關(guān)信息輸入相關(guān)條件,即可查詢。⑶實現(xiàn)學(xué)生選課信息的操作,修改學(xué)生的選課信息即對學(xué)生的選課成績進行錄入以及修改。⒊管理員平臺其擁有學(xué)生的功能,亦有教師的功能,同時還負(fù)責(zé)管理教師,學(xué)生,以及系統(tǒng)的全部信息。管理員平臺主要有兩部分構(gòu)成,包括基本信息管理和綜合查詢。(一)基本信息管理包括以下幾個部分:(1)學(xué)生基本信息管理。學(xué)生基本信息包括:學(xué)號,姓名,性別,密碼(提供給學(xué)生登錄系統(tǒng)進行部分信息操作時使用),入學(xué)時間,學(xué)籍狀態(tài),政治面貌,年齡,聯(lián)系方式(E-mail,電話號碼),所屬院系,所屬專業(yè),所屬班級,籍貫,住宿信息(住宿樓號,宿舍號),個人照片等。學(xué)生信息管理操作包括:①錄入學(xué)籍信息;②修改學(xué)生基本信息(按學(xué)號修改);③刪除學(xué)生基本信息,對休學(xué),退學(xué)等的學(xué)生的基本信息進行刪除;④查詢學(xué)生信息。(2)教師基本信息管理。教師的基本信息包括:教師編號和姓名,密碼,(供給教師登錄該系統(tǒng)時,對系統(tǒng)部分信息進行操作)性別,年齡,教師職稱,執(zhí)教時間,政治面貌,所屬院系,聯(lián)系方式(電子郵箱,電話號碼),住宿信息(住宿樓號,宿舍號),籍貫,月薪,個人照片等。教師信息管理操作包括:①錄入教師基本信息;②修改教師基本信息;③刪除教師信息,對不在該校工作了的教師的信息進行刪除;④查詢教師信息。(3)院系信息管理。院系信息包括:院系編號,院系名稱,負(fù)責(zé)人,備注信息。院系信息管理操作包括:①添加院系信息;②修改院系信息(按編號修改);③刪除院系信息(按編號進行刪除);④查詢院系信息。(4)專業(yè)信息管理,專業(yè)信息包括:專業(yè)編號,專業(yè)名稱,所屬院系,備注。專業(yè)信息管理操作包括:①添加專業(yè)信息;②修改專業(yè)信息(按專業(yè)編號修改);③刪除專業(yè)信息(按編號進行刪除);④查詢專業(yè)信息。(5)班級信息管理,班級信息包括:班級編號,班級名稱,班主任,人數(shù),所屬專業(yè),所屬院系,備注。班級信息管理操作包括:①添加班級信息;②修改班級信息(按班級編號修改);③刪除班級信息(按班級編號刪除);④查詢班級信息。(6)課程信息管理,課程信息包括:課程編號,課程名,課程類別,課時,學(xué)分。課程信息管理操作包括:①添加課程信息;②修改課程信息(按課程編號修改);③刪除課程信息(按課程編號刪除);④查詢課程信息。(7)選課信息管理,選課信息包括:學(xué)生信息(學(xué)號,姓名),課程信息(課程編號,課程名),責(zé)任教師信息(教師編號,教師姓名),成績,所得學(xué)分。選課信息管理操作包括:①添加選課信息;②修改選課信息(按學(xué)號,課程編號,責(zé)任教師編號修改);③刪除選課信息(按學(xué)號,課程編號,責(zé)任教師編號刪除);④查詢選課信息。(二)綜合查詢。綜合查詢包括查詢院系信息,專業(yè)信息,班級信息,選課信息,課程信息,成績信息,教師信息。查詢時,只需要輸入相關(guān)信息和其相關(guān)的查詢條件,即可查詢。(1)查詢院系信息:可以按院系編號或院系名稱進行查詢。(2)查詢專業(yè)信息:可以按專業(yè)編號、專業(yè)名稱或所屬院系進查詢。(3)查詢班級信息:可以按班級編號、班級名稱、所屬專業(yè)或所屬院系進行查詢。(4)查詢選課信息:可以按學(xué)號、課程編號、課程名、課程類別或?qū)W生姓名進行查詢。(5)查詢課程信息:可以按課程編號、課程名或課程類別進行查詢。(6)查詢教師信息:可以按教師編號、姓名、所屬院系、政治面貌或職稱進行查詢。(7)查詢成績信息:可以按班級編號、學(xué)生姓名、班級名稱或選課科目數(shù)進行查詢。(8)查詢學(xué)生信息:可以按學(xué)號、學(xué)生姓名、所屬班級、所屬專業(yè)或所屬院系進行查詢。⒋系統(tǒng)管理該模塊是把每個使用本系統(tǒng)的人員作為一個用戶,可以根據(jù)每個使用人員的不同情況所確定的使用范圍授予每個用戶不同的權(quán)限,通過對用戶和用戶權(quán)限的管理保障系統(tǒng)數(shù)據(jù)的安全性,同時該子系統(tǒng)還具有修改用戶密碼的功能、數(shù)據(jù)庫備份、數(shù)據(jù)庫還原功能。在這個模塊里把用戶分為:學(xué)生,教師,管理員。不同的角色進入系統(tǒng)后,相應(yīng)的操作權(quán)限不同。學(xué)生用戶只能進行信息的查詢和選課(選修課)登記;教師用戶只能對自己的信息進行查詢,學(xué)生選課成績錄入和修改;管理員用戶功能比較強大,可對基本信息的添加,修改,刪除,查詢操作,能夠允許修改密碼,備份數(shù)據(jù)庫及還原數(shù)據(jù)庫。1.3數(shù)據(jù)需求分析1.3.1用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新、查詢統(tǒng)計打印上,這就要求數(shù)據(jù)庫結(jié)構(gòu)應(yīng)充分滿足各種信息的輸入和輸出。系統(tǒng)應(yīng)定義數(shù)據(jù)結(jié)構(gòu)、收集基本數(shù)據(jù)以及設(shè)置數(shù)據(jù)處理的流程,組成一份詳細(xì)的數(shù)據(jù)字典,為以后的具體設(shè)計與實現(xiàn)奠定基礎(chǔ)。在仔細(xì)分析、調(diào)研有關(guān)教學(xué)管理業(yè)務(wù)處理過程的基礎(chǔ)上,可得到系統(tǒng)的數(shù)據(jù)流圖。⒈教學(xué)事物管理系統(tǒng)頂層數(shù)據(jù)流圖教學(xué)事物管理系統(tǒng)頂層數(shù)據(jù)流圖如圖2-2所示。圖2-2教學(xué)事物管理系統(tǒng)頂層數(shù)據(jù)流圖⒉教學(xué)事物管理系統(tǒng)第一層數(shù)據(jù)流圖教學(xué)事物管理系統(tǒng)流程圖細(xì)化后得到第一層數(shù)據(jù)流圖如圖2-3所示圖2-3教學(xué)事物管理系統(tǒng)流第一層數(shù)據(jù)流圖⒊教學(xué)事物管理系統(tǒng)第二層數(shù)據(jù)流圖教學(xué)事物管理系統(tǒng)細(xì)化后得到第二層數(shù)據(jù)流圖如圖2-4∽圖2-7所示圖2-4教學(xué)事物管理系統(tǒng)第二層數(shù)據(jù)流圖圖2-5教學(xué)事物管理系統(tǒng)第二層數(shù)據(jù)流圖圖2-6教學(xué)事物管理系統(tǒng)第二層數(shù)據(jù)流圖圖2-7教學(xué)事物管理系統(tǒng)第二層數(shù)據(jù)流圖1.3.2二、系統(tǒng)設(shè)計2.1功能模塊設(shè)計基于需求分析及項目規(guī)劃的表述,可對上述各項功能按照結(jié)構(gòu)化程序設(shè)計的要求進行集中分層結(jié)構(gòu)化,自上而下逐層設(shè)置得到系統(tǒng)功能結(jié)構(gòu)圖,如圖2-1。圖2-1系統(tǒng)功能結(jié)構(gòu)圖2.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計就是E-R模型的分析與設(shè)計,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。E-R圖是根據(jù)用戶的需求,設(shè)計各種實體以及它們之間的關(guān)系。下面使用實體-聯(lián)系(E-R)模型來描述系統(tǒng)的概念結(jié)構(gòu),設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包含各種具體實際信息,通過相互之間的作用形成數(shù)據(jù)的流動。教學(xué)事務(wù)管理系統(tǒng)的部分實體的E-R圖及其關(guān)系描述如下。選課p選課pnm圖2-9學(xué)生選修教師課程的E-R圖及其關(guān)系2.3數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫環(huán)境說明考慮該系統(tǒng)的定位與現(xiàn)有技術(shù)力量,決定采用MicrosoftSQLServer2005作為系統(tǒng)的后臺數(shù)據(jù)庫開發(fā)環(huán)境。數(shù)據(jù)庫命名標(biāo)準(zhǔn)與規(guī)范說明:下表1所列為數(shù)據(jù)庫及各表、視圖的命名方法,具體信息請參閱2.4.表1數(shù)據(jù)庫及各表、視圖的命名方法名稱類型命名辦法約定DBjiaowuxitong系統(tǒng)數(shù)據(jù)庫字母表基本表漢字或字母查詢查詢漢字字段字段漢字或字母根據(jù)教學(xué)事務(wù)管理系統(tǒng)的總體需求,通過對教學(xué)事務(wù)管理系統(tǒng)的內(nèi)容、數(shù)據(jù)流程分析及系統(tǒng)總體功能模塊的梳理,可歸納出系統(tǒng)數(shù)據(jù)庫的邏輯結(jié)構(gòu),設(shè)計并產(chǎn)生下列數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)。圖2-9數(shù)據(jù)庫邏輯結(jié)構(gòu)圖2.4.數(shù)據(jù)庫物理設(shè)計根據(jù)上述的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計與數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的結(jié)果,現(xiàn)在可以實施將其轉(zhuǎn)化為SQLServer2005數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,并形成數(shù)據(jù)庫中各個表格之間的關(guān)系。1.表、視圖匯總表2教學(xué)事務(wù)管理系統(tǒng)表、視圖匯總視圖/表名類型說明users基本表集中保存系統(tǒng)用戶的帳號、密碼student基本表存放學(xué)生信息teacher基本表存放教師信息classes基本表存放班級信息xuankebiao基本表存放學(xué)生選課信息yuanxibiao基本表存放院系信息zhuanyebiao基本表存放專業(yè)信息kechengbiao基本表存放課程信息gongzibiao基本表教師工資信息chengjihuizong基本表集中存放學(xué)生課程成績view_chengji查詢學(xué)生課程成績查詢view_classes查詢班級信息查詢view_kechengbiao查詢課程信息查詢view_student查詢學(xué)生信息查詢view_teacher查詢教師信息查詢view_xuanke查詢選課記錄查詢view_zhuanye查詢專業(yè)記錄查詢2.各表、視圖設(shè)計詳解[說明]:空缺位置表示無要求,主鍵在約束欄注明。由于篇幅所限,這里只給出重要的表?;颈恚篬student]字段名稱數(shù)據(jù)類型及長度約束說明stuNochar(20)Primarykey學(xué)號(主鍵)stuPasschar(50)密碼stuNamevarchar(30)姓名stuSexchar(2)‘男’或‘女’性別stuAgeint年齡stuzhengzhivarchar(50)政治面貌stuzhiwuvarchar(50)職務(wù)stuyuanxichar(20)Foreignkey院系編號(外鍵)stuzhuanyechar(20)Foreignkey專業(yè)編號(外鍵)stuEmailvarchar(50)學(xué)生電子郵箱stuPhonevarchar(20)電話stuclasschar(20)Foreignkey班級編號(外鍵)ruxuetimedatetime入學(xué)時間xuejivarchar(10)學(xué)生學(xué)籍狀態(tài)jiguanvarchar(100)籍貫stupictureimage學(xué)生相片stulouhaovarchar(10)學(xué)生所住樓號stusushehaovarchar(10)宿舍號基本表:[users]字段名稱數(shù)據(jù)類型及長度約束說明IDvarchar(10)Primarykey系統(tǒng)管理員編號userNamevarchar(30)notnull管理員姓名passvarchar(10)Notnull管理員密碼基本表:[teacher]字段名稱數(shù)據(jù)類型約束說明teaNochar(20)Primarykey教師編號teaPasschar(50)教師密碼teaNamevarchar(30)Notnull姓名teaSexchar(2)‘男’或‘女’性別teazhengzhivarchar(10)政治面貌teaAgeint年齡zhijiaotimedatetime執(zhí)教時間teayuanxichar(20)Foreignkey院系編號(外鍵)teazhiwuvarchar(50)教師職務(wù)teaEmailvarchar(50)教師電子郵箱teaPhonevarchar(20)教師電話tealouhaovarchar(10)教師所住樓號teasushehaovarchar(10)教師宿舍號teajiguanvarchar(100)教師籍貫teapictureimage教師相片基本表:[yuanxibiao]字段名稱數(shù)據(jù)類型約束說明yuxNochar(20)Primarykey院系編號(主鍵)yuxNamevarchar(50)院系名稱yuxfuzerenvarchar(50)院系負(fù)責(zé)人yuxbeizhuntext院系備注基本表:[zhuanyebiao]字段名稱數(shù)據(jù)類型約束說明zhyNochar(20)Primarykey專業(yè)編號(主鍵)yuxNochar(20)Foreignkey院系編號(外鍵)zhyNamevarchar(50)專業(yè)名稱zhyfuzerenvarchar(50)專業(yè)負(fù)責(zé)人zhybeizhuntext專業(yè)備注基本表:[classes]字段名稱數(shù)據(jù)類型約束說明claNochar(20)Primarykey班級編號(主鍵)clayuanxichar(20)Foreignkey院系編號(外鍵)zhuanyechar(20)Foreignkey專業(yè)編號(外鍵)claNamevarchar(20)班級名稱banzhurenvarchar(20)班主任renshuint人數(shù)clabenzhuntext備注基本表:[kechengbiao]字段名稱數(shù)據(jù)類型約束說明kecNochar(20)Primarykey課程編號(主鍵)kecNamevarchar(30)課程姓名kecleibeivarchar(50)課程類別kecKeshiint課程課時kecxuefenfloat課程學(xué)分基本表:[xuankebiao]字段名稱數(shù)據(jù)類型約束說明kecNochar(20)Foreignkey課程編號(外鍵)stuNOchar(20)Foreignkey學(xué)號(外鍵)teaNochar(20)Foreignkey教師編號(外鍵)xuankeshijianvarchar(50)選課時間chengjifloat成績xuefenfloat學(xué)分zongpivarchar(10)總評視圖:[學(xué)生選課信息統(tǒng)計]圖2-10學(xué)生選課信息統(tǒng)計視圖結(jié)構(gòu)視圖:[學(xué)生信息查詢]圖2-11學(xué)生信息查詢視圖結(jié)構(gòu)視圖:[專業(yè)信息查詢]圖2-12專業(yè)信息查詢視圖結(jié)構(gòu)注:由于篇幅所限,其他視圖結(jié)構(gòu):[略]。三、系統(tǒng)實現(xiàn)3.1系統(tǒng)架構(gòu)設(shè)計主文件架構(gòu)如圖2-13所示。圖2-13主文件架構(gòu)圖3.2系統(tǒng)實現(xiàn)數(shù)據(jù)庫的實現(xiàn)經(jīng)過上述的需求分析和概念結(jié)構(gòu)設(shè)計后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)?,F(xiàn)在就可以在SQLServer2005數(shù)據(jù)庫的系統(tǒng)中實現(xiàn)該邏輯結(jié)構(gòu)。教學(xué)事務(wù)管理系統(tǒng)由11個數(shù)據(jù)表、31個存儲過程和7個視圖構(gòu)成,其中數(shù)據(jù)表/視圖結(jié)構(gòu)參見2.4節(jié)。由于篇幅所限,存儲過程的創(chuàng)建以學(xué)生信息的操作(添加、刪除、修改、查詢)為例。(1)創(chuàng)建添加學(xué)生信息的存儲過程CREATEprocaddstudent@stuNochar(20),@stuPasschar(50),@stuNamevarchar(30),@stuSexchar(2),@stuAgeint,@stuzhiwuvarchar(50),@stuzhyNamevarchar(50),@stuzhengzhivarchar(50),@stuyuxNamevarchar(50),@stuclaNamevarchar(20),@stuEmailvarchar(50),@stuPhonevarchar(20),@ruxuetimedatetime,@xuejivarchar(10),@jiguanvarchar(100),@stupictureimage,@stulouhaovarchar(10),@stusushehaovarchar(10)asdeclare@stuzhuanyechar(20)declare@stuyuanxichar(20)declare@stuclasschar(20)select@stuzhuanye=zhyNofromzhuanyebiaowherezhyName=@stuzhyNameselect@stuyuanxi=yuxNofromyuanxibiaowhereyuxName=@stuyuxNameselect@stuclass=claNofromclasseswhereclaName=@stuclaNameinsertintostudent(stuNo,stuPass,stuName,stuSex,stuAge,stuzhiwu,stuzhuanye,stuzhengzhi,stuyuanxi,stuclass,stuEmail,stuPhone,ruxuetime,xueji,jiguan,stupicture,stulouhao,stusushehao)values(@stuNo,@stuPass,@stuName,@stuSex,@stuAge,@stuzhiwu,@stuzhuanye,@stuzhengzhi,@stuyuanxi,@stuclass,@stuEmail,@stuPhone,@ruxuetime,@xueji,@jiguan,@stupicture,@stulouhao,@stusushehao)updateclassessetrenshu=renshu+1whereclaName=@stuclaName(2)創(chuàng)建修改學(xué)生信息的存儲過程CREATEprocupdatexuesheng@stuNochar(20),@stuNamevarchar(30),@stuPasschar(50),@stuSexchar(2),@stuAgeint,@stuzhiwuvarchar(50),@yuxNamevarchar(50),@zhyNamevarchar(50),@stuEmailvarchar(50),@stuzhengzhivarchar(50),@stuPhonechar(20),@claNamevarchar(20),@ruxuetimedatetime,@stupictureimage,@xuejivarchar(10),@jiguanvarchar(100),@stulouhaovarchar(10),@stusushehaovarchar(10)asdeclare@stuyuanxichar(20)declare@stuzhuanyechar(20)declare@stuclasschar(20)select@stuyuanxi=yuxNofromyuanxibiaowhereyuxName=@yuxNameselect@stuzhuanye=zhyNofromzhuanyebiaowherezhyName=@zhyNameselect@stuclass=claNofromclasseswhereclaName=@claNameif@xueji='休學(xué)'or@xueji='退學(xué)'beginupdateclassessetrenshu=renshu-1whereclaNoin(selectstuclassfromstudentwherestuNo=@stuNo)deletexuankebiaowherestuNo=@stuNodeletestudentwherestuNo=@stuNoendupdatestudentsetstuPass=@stuPass,stuName=@stuName,stuSex=@stuSex,stuAge=@stuAge,stupicture=@stupicture,stuzhiwu=@stuzhiwu,stuyuanxi=@stuyuanxi,stuzhuanye=@stuzhuanye,stuzhengzhi=@stuzhengzhi,stuEmail=@stuEmail,stuPhone=@stuPhone,stuclass=@stuclass,ruxuetime=@ruxuetime,xueji=@xueji,jiguan=@jiguan,stulouhao=@stulouhao,stusushehao=@stusushehaowherestuNo=@stuNo(3)創(chuàng)建刪除學(xué)生信息的存儲過程CREATEprocdeletestudent@stuNochar(20)asdeclare@claNochar(20)deletexuankebiaowherestuNO=@stuNoselect@claNo=stuclassfromstudentwherestuNo=@stuNodeletestudentwherestuNo=@stuNodeletechengjihuizongwherestuNo=@stuNoupdateclassessetrenshu=renshu-1whereclaNo=@claNo(4)創(chuàng)建查詢學(xué)生信息的存儲過程CREATEprocselectstudentNo@stuNochar(20),@stuNamevarchar(100)output,@stuPasschar(50)output,@stuSexchar(2)output,@stuAgeintoutput,@stuzhiwuvarchar(50)output,@stuzhengzhivarchar(50)output,@yuxNamevarchar(50)output,@zhyNamevarchar(50)output,@stuEmailvarchar(50)output,@stuPhonechar(20)output,@claNamevarchar(20)output,@ruxuetimedatetimeoutput,@xuejivarchar(10)output,@jiguanvarchar(100)output,@stulouhaovarchar(10)output,@stusushehaovarchar(10)outputasselect@stuNo=學(xué)號,@stuPass=密碼,@stuName=姓名,@stuSex=性別,@stuAge=年齡,@stuzhiwu=職務(wù),@yuxName=院系,@zhyName=專業(yè),@stuzhengzhi=政治面貌,@stuEmail=E_mail,@stuPhone=電話號碼,@claName=班級,@ruxuetime=入學(xué)時間,@xueji=學(xué)籍狀態(tài),@jiguan=籍貫,@stulouhao=樓號,@stusushehao=宿舍號fromview_studentwhere學(xué)號=@stuNo子功能模塊的實現(xiàn)①登錄界面(Formlogin.cs)為了保證系統(tǒng)的安全,本系統(tǒng)設(shè)置了三種身份驗證模式:學(xué)生(只能使用學(xué)生模塊)、教師(只能使用教師模塊)、管理員(具有系統(tǒng)的全部權(quán)限)。系統(tǒng)登錄界面如圖2-14所示。圖2-14系統(tǒng)登錄界面系統(tǒng)登錄模塊的主要代碼如下://登錄按鈕privatevoidBtnLogin_Click_1(objectsender,EventArgse)if(TxtUserName.Text==""||TxtPassword.Text=="")MessageBox.Show("請你輸入完整的登錄信息");elseinti=0;conn.Open();//以學(xué)生身份登錄系統(tǒng)SqlCommandcd1=newSqlCommand("select*fromstudentwherestuNo='"+TxtUserName.Text+"'andstuPass='"+TxtPassword.Text+"'",conn);SqlDataReaderdr1=cd1.ExecuteReader();if(dr1.Read())i=1;guanliFormMainmain=newguanliFormMain();main.Show();this.Close();main.MenuItem_teacher.Enabled=false;main.MenuItem_guanliyuan.Enabled=false;main.MenuItem_System.Enabled=false;dr1.Close();//以管理員身份登錄系統(tǒng)SqlCommandcd2=newSqlCommand("select*fromuserswhereuserName='"+TxtUserName.Text+"'andpass='"+TxtPassword.Text+"'",conn);SqlDataReaderdr2=cd2.ExecuteReader();if(dr2.Read())i=1;guanliFormMainmain=newguanliFormMain();main.Show();this.Close();main.MenuItem_guanliyuan.Enabled=true;main.MenuItem_System.Enabled=true;main.MenuItem_student.Enabled=true;main.MenuItem_guanliyuan.Enabled=true;dr2.Close();//以教師身份登錄系統(tǒng)SqlCommandcd3=newSqlCommand("select*fromteacherwhereteaNo='"+TxtUserName.Text+"'andteaPass='"+TxtPassword.Text+"'",conn);SqlDataReaderdr3=cd3.ExecuteReader();if(dr3.Read())i=1;guanliFormMainmain=newguanliFormMain();main.Show();this.Close();main.MenuItem_guanliyuan.Enabled=false;//main.MenuItem_UserManger.Enabled=false;main.MenuItem_student.Enabled=false;main.MenuItem_System.Enabled=false;main.MenuItem_teacher.Enabled=true;if(i==0)MessageBox.Show("用戶信息不正確!請你重新輸入");TxtUserName.Text="";TxtPassword.Text="";dr3.Close();conn.Close();//取消按鈕privatevoidBtnExit_Click(objectsender,EventArgse)this.Close();//重置按鈕privatevoidBtnReset_Click(objectsender,EventArgse)TxtUserName.Text="";TxtPassword.Text="";②教學(xué)事務(wù)管理系統(tǒng)主界面(guanliFormMain.cs)設(shè)計美觀、簡潔、導(dǎo)航方便的系統(tǒng)主界面,能提高用戶的工作效率。教學(xué)事務(wù)管理系統(tǒng)的主界面如圖2-15所示。圖2-15系統(tǒng)主界面系統(tǒng)主界面的主要代碼如下:privatevoidMenuItem_student_Click(objectsender,EventArgse)studentFormstudent=newstudentForm();student.Show();privatevoidMenuItem_teacher_Click(objectsender,EventArgse)Formteacherteacher=newFormteacher();teacher.Show();privatevoidMenuItem_guanliyuan_Click(objectsender,EventArgse)Formjibenguanlijiben=newFormjibenguanli();jiben.Show();privatevoidMenuItem_outxitong_Click(objectsender,EventArgse)this.Close();privatevoidMenuItem_returnlogin_Click(objectsender,EventArgse)this.Close();Formloginf=newFormlogin();f.Show();privatevoidMenuItem_users_Click(objectsender,EventArgse)Formuserusers=newFormuser();users.Show();privatevoidMenuItem_login_Click(objectsender,EventArgse)Formupdatepassupdatepass=newFormupdatepass();updatepass.Show();privatevoidMenuItem_UserManger_Click(objectsender,EventArgse)Formuserusers=newFormuser();users.Show();privatevoidMenuItem_LoginManger_Click(objectsender,EventArgse)Formupdatepassupdatepass=newFormupdatepass();updatepass.Show();privatevoidMenuItem_returnlogin_Click_1(objectsender,EventArgse)this.Close();Formloginf=newFormlogin();f.Show();privatevoidMenuItem_outxitong_Click_1(objectsender,EventArgse)this.Close();privatevoidMenuItem_SystemBack_Click(objectsender,EventArgse)FrmBackDBBackDB=newFrmBackDB();BackDB.Show();privatevoidMenuItem_SystemRestore_Click(objectsender,EventArgse)FrmRestoreRestoreDB=newFrmRestore();RestoreDB.Show();③學(xué)生平臺(studentForm.cs)學(xué)生平臺包括:個人信息查詢(如圖2-16所示)、綜合信息查詢(如圖2-17所示)、添加選課信息(如圖2-18所示)。圖2-16學(xué)生平臺—個人信息查詢圖2-17學(xué)生平臺—綜合信息查詢圖2-18學(xué)生平臺—添加選課信息學(xué)生平臺模塊的主要代碼如下:publicpartialclassstudentForm:FormSqlConnectionconn=DBclass.createConn();publicstudentForm()InitializeComponent();privatevoidShowImage(stringsql)SqlConnectionconn=DBclass.createConn();conn.Open();SqlCommandcmd=newSqlCommand(sql,conn);byte[]b=(byte[])cmd.ExecuteScalar();if(b.Length>0)MemoryStreamstream=newMemoryStream(b,true);stream.Write(b,0,b.Length);pictureBox1.Image=newBitmap(stream);stream.Close();conn.Close();//學(xué)生個人信息查詢模塊按鈕privatevoidbutton_stugenren_Click(objectsender,EventArgse)SqlConnectionconn=DBclass.createConn();conn.Open();SqlCommandcmd=newSqlCommand("cxxuesheng",conn);//設(shè)置命令的類型為存儲過程cmd.CommandType=CommandType.StoredProcedure;cmd.Parameters.Add("@stuNo",SqlDbType.Char,20).Value=Sno.Text;cmd.Parameters.Add("@stuName",SqlDbType.VarChar,100).Value=Sname.Text;cmd.Parameters.Add("@stuPass",SqlDbType.VarChar,100).Value=Spass.Text;//屬于輸出類型參數(shù)cmd.Parameters.Add("@stuSex",SqlDbType.Char,2);cmd.Parameters.Add("@stuAge",SqlDbType.Int);cmd.Parameters.Add("@stuzhiwu",SqlDbType.VarChar,100);cmd.Parameters.Add("@yuxName",SqlDbType.VarChar,100);cmd.Parameters.Add("@stuEmail",SqlDbType.VarChar,100);cmd.Parameters.Add("@stuPhone",SqlDbType.Char,20);cmd.Parameters.Add("@claName",SqlDbType.VarChar,100);cmd.Parameters.Add("@stuzhengzhi",SqlDbType.VarChar,100);cmd.Parameters.Add("@zhyName",SqlDbType.VarChar,100);cmd.Parameters.Add("@ruxuetime",SqlDbType.DateTime);cmd.Parameters.Add("@xueji",SqlDbType.VarChar,100);cmd.Parameters.Add("@jiguan",SqlDbType.VarChar,100);cmd.Parameters.Add("@stulouhao",SqlDbType.VarChar,100);cmd.Parameters.Add("@stusushehao",SqlDbType.VarChar,100);//設(shè)置參數(shù)的類型為輸出參數(shù),默認(rèn)情況下是輸入,cmd.Parameters["@stuSex"].Direction=ParameterDirection.Output;cmd.Parameters["@stuAge"].Direction=ParameterDirection.Output;cmd.Parameters["@stuzhiwu"].Direction=ParameterDirection.Output;cmd.Parameters["@yuxName"].Direction=ParameterDirection.Output;cmd.Parameters["@stuEmail"].Direction=ParameterDirection.Output;cmd.Parameters["@stuPhone"].Direction=ParameterDirection.Output;cmd.Parameters["@zhyName"].Direction=ParameterDirection.Output;cmd.Parameters["@claName"].Direction=ParameterDirection.Output;cmd.Parameters["@stuzhengzhi"].Direction=ParameterDirection.Output;cmd.Parameters["@ruxuetime"].Direction=ParameterDirection.Output;cmd.Parameters["@xueji"].Direction=ParameterDirection.Output;cmd.Parameters["@jiguan"].Direction=ParameterDirection.Output;cmd.Parameters["@stulouhao"].Direction=ParameterDirection.Output;cmd.Parameters["@stusushehao"].Direction=ParameterDirection.Output;//執(zhí)行存儲過程cmd.ExecuteNonQuery();tryShowImage("select頭像fromview_studentwhere學(xué)號='"+Sno.Text+"'");catch(Exception)textBox2.Text=cmd.Parameters["@stuzhengzhi"].Value.ToString();textBox_stuNo.Text=cmd.Parameters["@stuNo"].Value.ToString();textBox_stuName.Text=cmd.Parameters["@stuName"].Value.ToString();textBox_stupass.Text=cmd.Parameters["@stuPass"].Value.ToString();textBox_stuPhone.Text=cmd.Parameters["@stuPhone"].Value.ToString();textBox_stusushehao.Text=cmd.Parameters["@stusushehao"].Value.ToString();textBox_stuzhiwu.Text=cmd.Parameters["@stuzhiwu"].Value.ToString();textBox_stulouhao.Text=cmd.Parameters["@stulouhao"].Value.ToString();textBox_stujiguan.Text=cmd.Parameters["@jiguan"].Value.ToString();textBox_stuAge.Text=cmd.Parameters["@stuAge"].Value.ToString();comboBox_stuxueji.Text=cmd.Parameters["@xueji"].Value.ToString();comboBox_stuCla.Text=cmd.Parameters["@claName"].Value.ToString();comboBox_stuSex.Text=cmd.Parameters["@stuSex"].Value.ToString();comboBox_stuyuanxi.Text=cmd.Parameters["@yuxName"].Value.ToString();comboBox_stuzhuanye.Text=cmd.Parameters["@zhyName"].Value.ToString();textBox_Email.Text=cmd.Parameters["@stuEmail"].Value.ToString();dateTimePicker1.Text=cmd.Parameters["@ruxuetime"].Value.ToString();stringstr="select*fromview_studentwhere學(xué)號='"+Sno.Text+"'and姓名='"+Sname.Text+"'and密碼='"+Spass.Text+"'";SqlDataAdapterada1=newSqlDataAdapter(str,conn);DataSetds=newDataSet();ada1.Fill(ds);this.dataGridView2.DataSource=ds.Tables[0].DefaultView;MessageBox.Show(this,"查詢成功","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);conn.Close();privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)if(comboBox1.Text=="選課信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("學(xué)號");comboBox2.Items.Add("姓名");comboBox2.Items.Add("課程名");comboBox2.Items.Add("課程類別");comboBox2.Items.Add("課程編號");if(comboBox1.Text=="學(xué)生信息")comboBox2.Items.Clear();comboBox2.Items.Add("學(xué)號");comboBox2.Items.Add("姓名");comboBox2.Items.Add("所屬班級");comboBox2.Items.Add("所屬專業(yè)");comboBox2.Items.Add("所屬院系");if(comboBox1.Text=="班級信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("班級編號");comboBox2.Items.Add("班級名稱");comboBox2.Items.Add("所屬院系");comboBox2.Items.Add("所屬專業(yè)");if(comboBox1.Text=="院系信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("院系編號");comboBox2.Items.Add("院系名稱");if(comboBox1.Text=="專業(yè)信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("專業(yè)編號");comboBox2.Items.Add("專業(yè)名稱");comboBox2.Items.Add("所屬院系");if(comboBox1.Text=="課程信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("課程編號");comboBox2.Items.Add("課程名稱");comboBox2.Items.Add("課程類別");if(comboBox1.Text=="成績信息")comboBox2.Items.Clear();comboBox2.Items.Add("全部");comboBox2.Items.Add("學(xué)號");comboBox2.Items.Add("姓名");comboBox2.Items.Add("班級編號");comboBox2.Items.Add("班級名稱");comboBox2.Items.Add("選課科目數(shù)");//學(xué)生綜合信息查詢模塊按鈕privatevoidBtnStuZSearch_Click(objectsender,EventArgse)SqlConnectionconn=DBclass.createConn();conn.Open();stringcmd="";if(comboBox1.Text=="選課信息")if(comboBox2.Text=="學(xué)號")cmd="select*fromview_xuankewhere學(xué)號='"+textBox1.Text+"'";if(comboBox2.Text=="全部")cmd="select*fromview_xuanke";if(comboBox2.Text=="姓名")cmd="select*fromview_xuankewhere姓名='"+textBox1.Text+"'";if(comboBox2.Text=="課程名")cmd="select*fromview_xuankewhere課程名='"+textBox1.Text+"'";if(comboBox2.Text=="課程類別")cmd="select*fromview_xuankewhere課程類別='"+textBox1.Text+"'";if(comboBox2.Text=="課程編號")cmd="select*fromview_xuankewhere課程編號='"+textBox1.Text+"'";SqlDataAdapterda=newSqlDataAdapter(cmd,conn);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0].DefaultView;conn.Close();if(comboBox1.Text=="學(xué)生信息")if(comboBox2.Text=="學(xué)號")cmd="select*fromview_studentwhere學(xué)號='"+textBox1.Text+"'";if(comboBox2.Text=="姓名")cmd="select*fromview_studentwhere姓名='"+textBox1.Text+"'";if(comboBox2.Text=="所屬專業(yè)")cmd="select*fromview_studentwhere專業(yè)='"+textBox1.Text+"'";if(comboBox2.Text=="所屬院系")cmd="select*fromview_studentwhere院系='"+textBox1.Text+"'";if(comboBox2.Text=="所屬班級")cmd="select*fromview_studentwhere班級='"+textBox1.Text+"'";SqlDataAdapterda=newSqlDataAdapter(cmd,conn);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0].DefaultView;conn.Close();if(comboBox1.Text=="班級信息")if(comboBox2.Text=="班級編號")cmd="select*fromview_classeswhere班級編號='"+textBox1.Text+"'";if(comboBox2.Text=="全部")cmd="select*fromview_classes";if(comboBox2.Text=="班級名稱")cmd="select*fromview_classeswhere班級名稱='"+textBox1.Text+"'";if(comboBox2.Text=="所屬院系")cmd="select*fromview_classeswhere所屬院系='"+textBox1.Text+"'";if(comboBox2.Text=="所屬專業(yè)")cmd="select*fromview_classeswhere所屬專業(yè)='"+textBox1.Text+"'";SqlDataAdapterda=newSqlDataAdapter(cmd,conn);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0].DefaultView;conn.Close();if(comboBox1.Text=="院系信息")if(comboBox2.Text=="院系編號")cmd="selectyuxNoas院系編號,yuxNameas院系名稱,yuxfuzerenas負(fù)責(zé)人,yuxbeizhuas備注fromyuanxibiaowhereyuxNo='"+textBox1.Text+"'";if(comboBox2.Text=="全部")cmd="selectyuxNoas院系編號,yuxNameas院系名稱,yuxfuzerenas負(fù)責(zé)人,yuxbeizhuas備注fromyuanxibiao";if(comboBox2.Text=="院系名稱")cmd="selectyuxNoas院系編號,yuxNameas院系名稱,yuxfuzerenas負(fù)責(zé)人,yuxbeizhuas備注fromyuanxibiaowhereyuxName='"+textBox1.Text+"'";SqlDataAdapterda=newSqlDataAdapter(cmd,conn);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0].DefaultView;conn.Close();if(comboBox1.Text=="專業(yè)信息")if(comboBox2.Text=="專業(yè)編號")cmd="select*fromview_zhuanyewhere專業(yè)編號='"+textBox1.Text+"'";if(comboBox2.Text=="全部")cmd="select*fromview_zhuanye";if(comboBox2.Text=="專業(yè)名稱")cmd="select*fromview_zhuanyewhere
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《巨匠童心》課件
- 《童年回憶的》課件
- 《客戶梳理技巧》課件
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 四川省南充市2025屆高三上學(xué)期高考適應(yīng)性考試(一診)英語試卷含答案
- 單位管理制度匯編大全職員管理
- 單位管理制度合并選集人力資源管理
- 單位管理制度分享合集【人力資源管理篇】
- 單位管理制度分享大合集【人力資源管理篇】
- 單位管理制度范例匯編職員管理篇十篇
- 2021-2022學(xué)年四川省南充市九年級(上)期末數(shù)學(xué)試卷
- 2024政府采購評審專家考試題庫附含答案
- 《商務(wù)跟單工作流程》課件
- 中小學(xué)膳食經(jīng)費管理的目標(biāo)與原則
- 2024高血壓的診斷與治療
- 重度子癇前期產(chǎn)后護理查房
- 制作課件wps教學(xué)課件
- 北京市海淀區(qū)2023屆高三上學(xué)期期末考試化學(xué)試卷 附解析
- MCN機構(gòu)簽約合同范本
- 2024年滬教版一年級上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 2024廣東省廣州市天河區(qū)中考一模語文試題含答案解析
評論
0/150
提交評論