aspnet-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
aspnet-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
aspnet-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
aspnet-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
aspnet-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

XXXX學(xué)院畢業(yè)設(shè)計(jì)(論文)基于ASP.NET的學(xué)生管理系統(tǒng)學(xué)院:專業(yè): 班級: 學(xué)號:學(xué)生姓名:指導(dǎo)教師:摘要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過程。通過分析某一學(xué)校學(xué)生管理的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理學(xué)生的方案。文章介紹了學(xué)生管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)及代碼設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分說明了幾個(gè)主要模塊的算法,本系統(tǒng)界面友好,操作簡單,比較實(shí)用。【關(guān)鍵字】:管理信息系統(tǒng)、學(xué)生管理、ASP.net應(yīng)用。

SummaryWithmoreandmorewidespreadandprofoundapplicationofinformationtechnologyinmanagement,theimplementofmanagementinformationsystemhasbecomematureintechnologystepbystep.Managinginformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresource(staff,finance,property,etc.)internaltheenterprise,andalsoestablishingamanagementinformationsystemfittinginwithitsowncharacteristics.Thisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentof,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforstudentmanagementbycomputer,throughanalyzingdisadvantagesofstudentmanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionofstudentmanagementinformationincludesfeasibleanalysis,managementfunctionanalysis.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesignanddatanumberdesign.Andthesystemrealizationsectionhasprovidedseveralmajorfunction,togetherwiththemainwindowsandprograms.Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.[Keywords]:MIS、studentmanagement、application目錄摘要 2Summary 3一系統(tǒng)概述 41.1系統(tǒng)及需求分析 4二開發(fā)環(huán)境 5簡介 52.2SQLServer2000簡介 52.3結(jié)構(gòu)化查詢語句SQL簡介 6三學(xué)生管理信息系統(tǒng)設(shè)計(jì) 9概述 9需求分析 9系統(tǒng)框架 12系統(tǒng)配置 15數(shù)據(jù)庫分析 173.6數(shù)據(jù)庫創(chuàng)建 243.7數(shù)據(jù)庫連接/數(shù)據(jù)庫具體配置 264主要界面及相關(guān)代碼 28學(xué)生管理系統(tǒng)首頁 28學(xué)生班級管理維護(hù)頁面 31學(xué)生班級添加頁面 37課程信息管理頁面 42錄入成績頁面 47添加教師頁面 51添加課程頁面 55課程類別管理頁面 67用戶管理頁面 72總結(jié) 78致謝 80參考文獻(xiàn) 81一系統(tǒng)概述本學(xué)生信息管理系統(tǒng)可以說是一個(gè)綜合性的學(xué)校學(xué)生管理系統(tǒng),這它集成了學(xué)生學(xué)籍管理系統(tǒng)、學(xué)生成績管理系統(tǒng)、學(xué)生檔案管理系統(tǒng)、學(xué)生繳費(fèi)管理系統(tǒng)等多種功能,因而具有較強(qiáng)的實(shí)用性和先進(jìn)性。1.1系統(tǒng)及需求分析.1系統(tǒng)需求通過調(diào)查,要求系統(tǒng)需要有以下功能:=1\*GB2⑴由于操作人員的計(jì)算機(jī)知識普遍較差,要求有良好的人機(jī)界面;=2\*GB2⑵由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理;=3\*GB2⑶原始數(shù)據(jù)修改簡單方便,支持多條件修改=4\*GB2⑷方便的數(shù)據(jù)查詢,支持多條件查詢;=5\*GB2⑸在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好;=6\*GB2⑹數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);1.1.2可行性分析由于本系統(tǒng)管理的對象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。二開發(fā)環(huán)境ASP.NET是由ASP發(fā)展而來,它是使用.NET框架提供的編程類庫構(gòu)建而成的。使用ASP.NET創(chuàng)建、管理和部署Web應(yīng)用程序變得非常容易。開發(fā)人員可以直接用ASP.NET服務(wù)器控件,這些控件封裝了公共的、用戶HTML用戶界面的各種元素(如文本框、下拉菜單等)。實(shí)際上,這些控件運(yùn)行在Web服務(wù)器上,它們將用戶界面轉(zhuǎn)換成HTML格式后再發(fā)送給瀏覽器。再服務(wù)器上,控件負(fù)責(zé)將面向?qū)ο蟮木幊棠P吞峁┙oWeb開發(fā)者,這種編程模型提供面向?qū)ο缶幊碳夹g(shù)的豐富功能。ASP.NET還提供一些基本結(jié)構(gòu)服務(wù)(如會(huì)話狀態(tài)管理和進(jìn)程重啟服務(wù)),這些服務(wù)大大減少了開發(fā)人員需要編寫的代碼量,并使應(yīng)用程序的可靠性得到大幅度的提高。ASP.NET還允許開發(fā)人員將軟件作為一項(xiàng)服務(wù)來提供。通過使用ASP.NETWeb服務(wù)功能,開發(fā)人員只需進(jìn)行簡單的業(yè)務(wù)邏輯編程,而由ASP.NET基本結(jié)構(gòu)負(fù)責(zé)通過SOAP來提供服務(wù)。ASP.NET是作為.NETFrameworkSDK的一部分提供的。.NETFrameworkSDK可以運(yùn)行再WindowsXP,Windows2000+ServicePack1及WindowsNT4.0+ServicePack6環(huán)境中。另外,服務(wù)器還需安裝InternetExplorer5.5和MDAC2.6(MicrosoftDataAccessComponents2.6)2.2SQLServer2000簡介SQLServer2000是一個(gè)功能強(qiáng)大的新一代的數(shù)據(jù)庫管理系統(tǒng)。與前一代的產(chǎn)品相比,SQLServer在可伸縮性、可用性和可管理性等方面有了顯著的改進(jìn)和提高。MicrosoftSQLServer2000是由一系列相互協(xié)作的組件組成,能滿足最大的Web站點(diǎn)和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲(chǔ)和分析數(shù)據(jù)的需要。它主要由以下幾個(gè)組件組成:關(guān)系數(shù)據(jù)庫組件、數(shù)據(jù)庫構(gòu)架、管理構(gòu)架、復(fù)制構(gòu)架、數(shù)據(jù)倉庫和聯(lián)機(jī)分析處理分析和應(yīng)用程序開發(fā)構(gòu)架等。SQLServer2000完全支持Web。通過Web可以查詢、分析和處理數(shù)據(jù)。在SQLServer2000中使用可擴(kuò)展標(biāo)記語言(XML)可以在松散耦合系統(tǒng)之間交換數(shù)據(jù)。從瀏覽器通過防火墻可方便而安全地訪問數(shù)據(jù),并可對有格式文檔執(zhí)行快速全文檢索。分析和鏈接聯(lián)機(jī)分析處理(OLAP)多維數(shù)據(jù)集,即使在Web上也是如此。執(zhí)行點(diǎn)擊流分析,以了解Web用戶的情況。高度可擴(kuò)展性和可靠性。使用增強(qiáng)的可擴(kuò)展性和可靠性功能,可無限制地?cái)U(kuò)容。服務(wù)器操作系統(tǒng)最多可支持32個(gè)CPU和64GB的RAM。結(jié)構(gòu)化查詢語句SQL簡介結(jié)構(gòu)化查詢語句SQL(StructuredQueryLanguage)簡介SQL(StructuredQueryLanguage)語言是一種介于關(guān)系代數(shù)與關(guān)系驗(yàn)算之間的結(jié)構(gòu)化查詢語句,其功能并不僅僅是查詢。SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。SQL語言集數(shù)據(jù)查詢(DataQuery)、數(shù)據(jù)操縱(DataManipulation)、數(shù)據(jù)定義(DataDefinition)和數(shù)據(jù)控制(DataControl)功能于一體,主要特點(diǎn)包括:綜合統(tǒng)一高度非過程化面向集合的操作方式以同一種語法結(jié)構(gòu)提供兩種使用方式語言簡介,易學(xué)易用定義基本表SQL語言使用CREATETABLE語句定義基本表,其一般格式如下:CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列級完整性約束條件][,<列名><數(shù)據(jù)類型>[列級完整性約束條件]]…[,<表級完整性約束條件>]);修改基本表SQL語言使用ALTERTABLE修改基本表,其一般格式為:ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類型>];查詢SQL語言提供了SELECT語句進(jìn)行數(shù)據(jù)庫的查詢,該語句具有靈活的使用方式和豐富的功能。其一般格式為:SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];插入數(shù)據(jù)插入單個(gè)元組插入單個(gè)元組的INSERT語句的格式為:INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…])]VALUES(<常量1>[,<常量2>]…);插入子查詢結(jié)果插入子查詢結(jié)果的INSERT語句的格式為:INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…])]子查詢;修改數(shù)據(jù) 修改操作語句的一般格式為: UPDATE<表名> SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]… [WHERE<條件>];刪除數(shù)據(jù) 刪除語句的一般格式為: DELETE FROM<表名> [WHERE<條件>];三學(xué)生管理信息系統(tǒng)設(shè)計(jì)學(xué)生信息管理系統(tǒng)主要是處理學(xué)生.教師.課程.班級以及它們互相之間的關(guān)系信息。學(xué)生管理信息系統(tǒng)是一個(gè)比較古老的應(yīng)用,隨著近些年計(jì)算機(jī)技術(shù)水平的高速發(fā)展,學(xué)生管理信息系統(tǒng)也在不斷的發(fā)展擴(kuò)充其功能,從單一的學(xué)生成績管理發(fā)展到現(xiàn)在的統(tǒng)一學(xué)生資料管理,此設(shè)計(jì)主要講敘它的設(shè)計(jì)和實(shí)現(xiàn)。3.1概述。從而減少管理方面的工作量。有效的管理學(xué)生所有信息就是學(xué)生管理系統(tǒng)完成的功能。此學(xué)生管理系統(tǒng)是基于.net技術(shù),采用.net技術(shù)構(gòu)建,在此稱為SMS。在行使維護(hù)功能方面包括:學(xué)生管理,班級管理,教師管理,課程管理,學(xué)生選課及其成績管理。在后面將一一介紹。需求分析需求分析是數(shù)據(jù)庫信息管理系統(tǒng)開發(fā)的第一步也是最重要一步。需求分析就是描述系統(tǒng)的需求,通過定義系統(tǒng)種的關(guān)鍵域來建立模型,分析的根本目的的是在開發(fā)者和提出需求的人之間建立的一種理解和溝通機(jī)智。需求功能這個(gè)是一個(gè)學(xué)生管理系統(tǒng),我們的目標(biāo)是提高學(xué)會(huì)管理工作的效率,具有對學(xué)生個(gè)人信息,課程信息,所選課程信息進(jìn)行管理及維護(hù)的功能。學(xué)生可以通過此系統(tǒng)進(jìn)行個(gè)人信息,考試成績查詢以及完成選課功能。系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)學(xué)生信息管理的系統(tǒng)化,規(guī)范化和自動(dòng)化。總之,學(xué)生管理系統(tǒng)的功能需求包括管理員對功能的需求和學(xué)生對功能的需求兩大部分,如下所列:·管理員對功能的需求管理員權(quán)限最大,可以對學(xué)生,班級,課程情況進(jìn)行統(tǒng)一的管理,管理員對功能的需求細(xì)分如下:有關(guān)學(xué)生信息的瀏覽,包括學(xué)生的姓名,性別,民族,出生年月,入學(xué)日期,所在班級,籍貫及備注信息;學(xué)生信息的添加,本系統(tǒng)由管理員對學(xué)生的基本信息進(jìn)行添加;學(xué)生信息的修改,刪除;班級管理信息的瀏覽,包括班級設(shè)置,年級信息等;班級管理信息的添加;班級管理信息的修改,刪除;教師信息的添加,本系統(tǒng)管理員對教師的基本信息進(jìn)行添加;教師權(quán)限的修改,管理員可以將教師的權(quán)限設(shè)為管理員;學(xué)?;菊n程的瀏覽,包括課程名,課程類型,學(xué)時(shí),學(xué)分和課程具體描述;學(xué)?;菊n程的添加;學(xué)校基本課程的修改,刪除;學(xué)校對所設(shè)課程進(jìn)行教師分配;學(xué)生成績的瀏覽與統(tǒng)計(jì),可按成績具體范圍(如系,班級等),課號,年度,統(tǒng)計(jì)內(nèi)容方面對成績進(jìn)行統(tǒng)計(jì);學(xué)生成績信息的添加;學(xué)生成績信息的修改,刪除;學(xué)生選課人數(shù)的統(tǒng)計(jì)。·學(xué)生對功能的需求學(xué)生只是利用此系統(tǒng)進(jìn)行與自己由關(guān)的信息查詢,輸入等,不必關(guān)心其他的內(nèi)容,學(xué)生對功能的需求如下:瀏覽個(gè)人基本信息,具體內(nèi)容包括姓名,學(xué)號,民族,出生日期,籍貫,所在班級,備注等;學(xué)生登陸系統(tǒng)后,修改個(gè)人信息,為了保證系統(tǒng)安全性,只要求學(xué)生修改個(gè)人密碼;瀏覽課程信息,具體內(nèi)容包括課程名,課程類型,學(xué)時(shí),學(xué)分和課程的具體描述,任課教師;學(xué)生利用此系統(tǒng)選修課程,在選課過程中,學(xué)生可查詢待選課程的基本信息及教師情況,并可瀏覽截止當(dāng)前選課的人數(shù);瀏覽個(gè)人選課情況;瀏覽個(gè)人成績。3.性能需求一般的性能需求是指互相消息傳遞順利,協(xié)議分析正確,界面友好,運(yùn)行時(shí)間滿足使用需要,安全性得到完全保證。就實(shí)際情況,在高系統(tǒng)配置,高網(wǎng)絡(luò)帶寬很容易得到保證的情況下,我們最需要考慮的性能就是系統(tǒng)安全性問題。在開發(fā)系統(tǒng)的每個(gè)階段,均需要考慮彼此間的認(rèn)證與授權(quán)。尤其要注意認(rèn)證,簡單地說誰是特定用戶,并針對安全源驗(yàn)證該用戶的身份。在處理完識別用戶的方法后,必須利用一種方法以向用戶授權(quán),從而能夠使用系統(tǒng)的特定功能。也就是說,需要一種方法來決定允許特定用戶進(jìn)行什么樣的操作。3.3系統(tǒng)框架3.3.為了更清楚的說明系統(tǒng)框架對本系統(tǒng)有一個(gè)整體上的初步認(rèn)識,我們給出了系統(tǒng)流程圖course.aspx 52course.aspx teacher.aspxteacher.aspx管理員登陸studentstudent-course..aspx用戶接口用戶接口學(xué)生登陸用戶首先登入到初始頁面default.aspx,如果以管理員的身份登錄,則被系統(tǒng)引導(dǎo)至學(xué)生信息維護(hù)頁student.aspx,該頁是用戶最常用的功能頁。管理員可以在此頁中進(jìn)行班級管理和教師管理,通過班級管理頁classes.aspx,可以添加新班級,查詢班級信息等,通過教師管理頁teacher.aspx,可以添加新教師,查詢教師信息及將教師設(shè)為管理員,管理員也可以在信息維護(hù)中維護(hù)學(xué)生的個(gè)人信息,該頁設(shè)置了通向其他管理頁面的連接,如添加新學(xué)生頁addstudent.aspx,課程管理頁course.aspx和學(xué)生選課管理頁student_course.aspx,以及成績管理頁grade.aspx,另外從課程管理頁可以進(jìn)入添加新課程頁addcourse.aspx,各個(gè)管理頁面的功能和各個(gè)管理模塊掛鉤。如果是本校的注冊學(xué)生,則被系統(tǒng)引導(dǎo)至個(gè)人信息頁quert.aspx,該頁只要顯示此登陸學(xué)生的個(gè)人信息,通過此頁此學(xué)生可以進(jìn)入修改密碼頁updatepwd.aspx,成績查詢頁grade_query.aspx,以及選課瀏覽頁sortcourse.aspx.3.3.SMS主要的功能包括以下幾個(gè)方面:用戶管理(管理員,老師管理和學(xué)生管理),課程管理,班級管理,成績管理選課管理。設(shè)計(jì)圖如5--3所示,除此之外,系統(tǒng)還包含了教師管理,班級管理等輔助功能模塊,用于協(xié)調(diào)4個(gè)主模塊。用戶管理模塊學(xué)生管理系統(tǒng)用戶管理學(xué)生管理系統(tǒng)用戶管理管理員管理班級管理選課管理課程管理學(xué)生管理成績管理該模塊由兩個(gè)子模塊構(gòu)成,分別示管理員與教師管理模塊和學(xué)生管理模塊。主要負(fù)責(zé)管理員與教師以及學(xué)生信息的管理功能,具體參看管理員與教師管理子模塊和學(xué)生管理子模塊的模塊功能描述。管理員與教師管理子模塊該模塊主要負(fù)責(zé)管理系統(tǒng)管理員的信息。它為用戶管理模塊的一個(gè)子模塊。主要功能是將本校的教師權(quán)限設(shè)為管理員。管理員課添加新教師信息,每個(gè)教師有唯一的編號,之后通過把教師加為管理員,而令此教師具有管理員的權(quán)限,從而教師可以登陸系統(tǒng)進(jìn)行管理員的相關(guān)操作。學(xué)生管理子模塊該模塊主要負(fù)責(zé)管理所有在校注冊學(xué)生的個(gè)人信息。它為用戶管理模塊的一個(gè)子模塊。主要功能包括添加,刪除,修改,查找學(xué)生信息。每個(gè)學(xué)生有唯一的學(xué)號,管理員添加新生后,新生即可登陸此系統(tǒng)瀏覽個(gè)人信息,登陸此系統(tǒng)的用戶名和密碼默認(rèn)都是此學(xué)生的學(xué)號。課程管理模塊該模塊負(fù)責(zé)管理本校所有的課程信息。主要功能包括添加,刪除,修改,查找課程信息。只有管理員才具有對課程信息進(jìn)行維護(hù)的權(quán)限,課程的類型分三種:公共課,專業(yè)課和選修課。課程管理模塊是選課管理模塊的基礎(chǔ),只有在課程管理中添有選修課的信息,學(xué)生才能進(jìn)行選課。選課管理模塊該模塊負(fù)責(zé)選課的管理。主要功能包括刪除,統(tǒng)計(jì)學(xué)生選課信息。它以在課程管理系統(tǒng)中維護(hù)號的信息作為基礎(chǔ),既可以對選修課程進(jìn)行管理,也可以對統(tǒng)計(jì)選課人數(shù),并根據(jù)學(xué)生選課時(shí)間先后決定最終選修此課的同學(xué)。成績管理模塊學(xué)生學(xué)的每一門課顯然最后要有成績,查詢的內(nèi)肉包括課程名稱,學(xué)分,成績等。只有管理員可以錄入學(xué)生每一門課的成績,并能進(jìn)行修改,學(xué)生只能查詢自己所學(xué)課程的成績,并且可以查詢每一學(xué)期學(xué)生所學(xué)課程所獲總學(xué)分,前提是成績必須及格,否則將沒有此課的成績。班級管理模塊該模塊負(fù)責(zé)班級的管理。主要功能包括添加,刪除和修改班級信息,以及對班級信息的查詢。只有管理員才具有對班級管理信息進(jìn)行維護(hù)的權(quán)限。學(xué)生信息的添加是建立在班級信息維護(hù)的基礎(chǔ)上,每個(gè)學(xué)生必然屬于特定的班級。并且在管理員對學(xué)生成績查詢統(tǒng)計(jì)時(shí),可以統(tǒng)計(jì)各個(gè)班級的平均分,最高分。3.4系統(tǒng)配置3.軟件配置軟件配置主要包括數(shù)據(jù)庫的選擇和操作系統(tǒng)的選擇。學(xué)生管理系統(tǒng)的軟件配置要根據(jù)用戶對系統(tǒng)穩(wěn)定的要求,系統(tǒng)的容量以及用戶維護(hù)水平來確定。數(shù)據(jù)庫的選擇可以根據(jù)數(shù)據(jù)量的大小選擇大小步同的數(shù)據(jù)庫,如表5-1所示。其中數(shù)據(jù)量示指數(shù)據(jù)庫中需存放表但的最大記錄數(shù)。表51學(xué)生管理系統(tǒng)數(shù)據(jù)庫選擇用戶數(shù)據(jù)量記錄穩(wěn)定性要求維護(hù)水平備選數(shù)據(jù)庫一般學(xué)校50000~200000較高較好SQLServer,Oracle大型院校200000以上高高Oracle當(dāng)然,這種選擇不是絕對的。有時(shí),一個(gè)學(xué)校盡管人數(shù)不多,但人員變動(dòng)很大,要求數(shù)據(jù)庫的吞吐量和穩(wěn)定性較高,這就需要選擇更好的數(shù)據(jù)庫。也有些情況,由于建設(shè)經(jīng)費(fèi)的限制,只能選擇較為便宜的數(shù)據(jù)庫。數(shù)據(jù)庫還要考慮與操作系統(tǒng)的配合,此設(shè)計(jì)選用SQLServer2000數(shù)據(jù)庫。操作系統(tǒng)的選擇可以根據(jù)用戶量的大小選擇不同的操作系統(tǒng)。服務(wù)器端的選擇如表5-2所示表52學(xué)生管理系統(tǒng)操作系統(tǒng)的選擇用戶每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問的記錄數(shù)穩(wěn)定性要求維護(hù)水平備選操作系統(tǒng)一般學(xué)校500~2000較高較好WindowsNT,Windows2000Server,WindowsXP大型院校2000以上高好WindowsNT,Windows2000Server,WindowsXP,Linux,UNIX此設(shè)計(jì)采用Windows2000Server操作系統(tǒng)3.硬件配置硬件配置主要包括客服端硬件和服務(wù)器端硬件的選擇。學(xué)生管理系統(tǒng)的硬件配置要根據(jù)擁護(hù)對系統(tǒng)的穩(wěn)定性要求,系統(tǒng)的容量,系統(tǒng)吞吐量以及用戶維護(hù)水平來確定。(1)客服硬件選擇可以根據(jù)穩(wěn)定性要求選擇不同的客戶端。一般情況下,對客服端的要求不高。如表5-3所示。表53學(xué)生管理系統(tǒng)客戶端硬件的選擇用戶穩(wěn)定性要求備選客服端學(xué)生客戶端低PentiumCPU/64MB/4GB管理員客戶端中PentiuIII/256MB/20GB(2)服務(wù)器端硬件選擇可以根據(jù)數(shù)據(jù)量和吞吐量的大小選擇不同的服務(wù)器硬件。選擇服務(wù)器端的選擇如表5-4所示表54學(xué)生管理系統(tǒng)服務(wù)器端硬件的選擇用戶每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄穩(wěn)定性要求維護(hù)水平備選服務(wù)器一般學(xué)校500~2000較高較好小型計(jì)算機(jī)/雙熱備或者XEON4CPU/4GMB/RAID56*72GB大型院校2000以上高好小型計(jì)算機(jī)/雙熱備或者XEON4CPU/4GMB/RAID56*72GB當(dāng)然,這種配置不是絕對的,這里指給了參考配置的范圍。具體配置需要根據(jù)用戶的需求精確計(jì)算。網(wǎng)絡(luò)配置學(xué)生管理系統(tǒng)的網(wǎng)絡(luò)配置一般有如下幾種類型。單機(jī)模式:即服務(wù)器和客服端在一臺(tái)計(jì)算機(jī)上。百兆模式:計(jì)算機(jī)網(wǎng)絡(luò)的速度為百兆,主要采用百兆交換機(jī)把用戶端和服務(wù)器連接千兆模式:計(jì)算機(jī)網(wǎng)絡(luò)的速度為千兆,實(shí)際上沒有必要給每個(gè)節(jié)點(diǎn)都配備千兆網(wǎng)絡(luò)接口,只需要給服務(wù)器端千兆接口即可??筛鶕?jù)用戶情況選擇不同的網(wǎng)絡(luò)配置如表5-5所示。表55學(xué)生管理系統(tǒng)網(wǎng)絡(luò)配置的選擇用戶每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄數(shù)穩(wěn)定性要求維護(hù)水平備選網(wǎng)絡(luò)訪案一般學(xué)校500~2000較高較好百兆模式大型院校2000以上高好千兆模式3.5數(shù)據(jù)庫分析根據(jù)所涉及的學(xué)生管理信息系統(tǒng)的總數(shù)據(jù)結(jié)構(gòu),采用構(gòu)建E-R圖,導(dǎo)出系統(tǒng)數(shù)據(jù)表的分析方法,對學(xué)生管理信息系統(tǒng)作如下數(shù)據(jù)分析。3.系統(tǒng)E-R圖根據(jù)前面對系統(tǒng)做的需求分析,模塊設(shè)計(jì)就可以作出能夠滿足用戶需求的各種實(shí)體以及它們之間的關(guān)系。本系統(tǒng)根據(jù)上面的設(shè)計(jì)規(guī)劃出:用戶信息實(shí)體,學(xué)生信息實(shí)體,課程信息實(shí)體,班級信息實(shí)體,教師信息實(shí)體,學(xué)生-課程信息實(shí)體,教師-課程管理實(shí)體,下面給出系統(tǒng)數(shù)據(jù)庫E-R圖,如圖5-6所示。圖56學(xué)生信息學(xué)生信息課程信息教師信息班級信息包含學(xué)生-課程授課教師-課程學(xué)生管理系統(tǒng)用戶實(shí)體圖,如圖5-7所示用戶編號 用戶密碼用戶編號 用戶密碼用戶類型用戶信息學(xué)生管理系統(tǒng)學(xué)生信息實(shí)體圖,如圖5-8所示學(xué)號 學(xué)號 購買標(biāo)記購買標(biāo)記購買標(biāo)記購買日期生日民族性別學(xué)生姓名學(xué)生信息圖58學(xué)生管理系統(tǒng)課程信息實(shí)體圖,如圖5-9所示課程編號課程編號學(xué)分具體描述學(xué)時(shí)類型名稱課程信息圖59學(xué)生管理系統(tǒng)班級信息實(shí)體圖,如圖5-10所示班級編號班級編號所在學(xué)院班主任所在系班級名稱班級信息圖510學(xué)生管理系統(tǒng)教師信息實(shí)體圖,如圖5-11所示教師編號 教師編號 教師姓名 所屬學(xué)院 教師信息圖511學(xué)生管理系統(tǒng)學(xué)生-課程信息實(shí)體圖,如圖5-12所示記錄編號記錄編號學(xué)期年度成績課程編號 學(xué)生學(xué)號學(xué)生-課程記錄圖5—12學(xué)生管理系統(tǒng)教師-課程信息實(shí)體圖,如圖5-13所示記錄編號記錄編號所屬學(xué)院班級號課程編號教師編號教師-課程記錄圖513在本系統(tǒng)中利用PowerDesigner設(shè)計(jì)E-R模型。PowerDesigner的概念數(shù)據(jù)模型(CDM)把現(xiàn)實(shí)的信息簡化成為實(shí)體與實(shí)體之間的聯(lián)系,它與DBMS無關(guān)。CDM的建立示一個(gè)比較復(fù)雜的過程,實(shí)體關(guān)系圖的分析結(jié)果也非常復(fù)雜,一般情況下使用從簡到繁的方式進(jìn)行設(shè)計(jì)。首先從大的方面中設(shè)計(jì)出各個(gè)實(shí)體之間的關(guān)系,然后在這個(gè)關(guān)系的基礎(chǔ)上對各個(gè)細(xì)節(jié)進(jìn)行細(xì)化。如圖5-14所示,為學(xué)生管理系統(tǒng)的實(shí)體關(guān)系簡圖學(xué)生學(xué)生課程教師班級圖5-14在進(jìn)行詳細(xì)設(shè)計(jì)的實(shí)體圖設(shè)計(jì)時(shí),除了有學(xué)生,班級,教師,課程基本實(shí)體分別記錄學(xué)生,班級,教師,課程的基本信息外,考慮到便于系統(tǒng)管理員管理學(xué)生用戶,設(shè)計(jì)了用實(shí)體用戶,記錄用戶登陸系統(tǒng)時(shí)的用戶名,密碼以及權(quán)限。同時(shí)對于學(xué)生選課和教師教課都應(yīng)該有記錄,因此設(shè)計(jì)了學(xué)生選課和教師教課表,其中學(xué)生選課表里,包含了學(xué)生選課的內(nèi)容和各門成績,便于管理員對成績的錄入,修改以及用戶對成績的查詢和檢索;教師教課表的內(nèi)容主要時(shí)包含教師所教課程的信息。3.表/字段分析表/字段分析是建立在試題關(guān)系圖基礎(chǔ)上的。表字段分析后也可以利用Pewrdesigner建立數(shù)據(jù)庫模型。首先是用戶信息數(shù)據(jù)表(Users),用于存儲(chǔ)學(xué)生管理系統(tǒng)所有參與人員的信息。用戶信息數(shù)據(jù)表(Users)列名數(shù)據(jù)類型大小字段描述User_idVarchar50表示用戶名設(shè)為主鍵User_PasswordVarchar50記錄用戶登陸本系統(tǒng)時(shí)的密碼User_PowerInt4記錄用戶類型,0-本校注冊生,1-管理員在學(xué)生管理系統(tǒng)中,最重要的對象是學(xué)生,系統(tǒng)設(shè)計(jì)了學(xué)生信息數(shù)據(jù)表(student),用于存儲(chǔ)本校所有學(xué)生信息。學(xué)生信息數(shù)據(jù)表(student)列名數(shù)據(jù)類型大小字段描述Student_idVarchar50記錄學(xué)生的學(xué)號,設(shè)為主鍵Student_nameVarchar50記錄學(xué)生姓名Student_sexChar5記錄學(xué)生性別Student_nationChar5記錄學(xué)生民族Student_birthdayDatetime8記錄學(xué)生出生日期Student_timeDatetime8記錄學(xué)生入學(xué)時(shí)間Student_classidVarchar50記錄學(xué)生所在班級號Student_homeVarchar50記錄學(xué)生家庭所在地Student_elseVarchar50備注學(xué)生所在班級相對獨(dú)立,系統(tǒng)用班級信息數(shù)據(jù)表(class)記錄本學(xué)校所有班級信息。班級信息數(shù)據(jù)表(class)列名數(shù)據(jù)類型大小字段描述Class_idVarchar50記錄班級號,設(shè)為主鍵Class_nameVarchar50班級全稱Class_departmentVarchar50記錄班級所在系別Class_collegeVarchar50記錄班級所在學(xué)院Class_teacheridVarchar50記錄本班級班主任號系統(tǒng)構(gòu)建教師信息數(shù)據(jù)表(teacher)用來存儲(chǔ)本校所有教師信息。教師信息數(shù)據(jù)表(teacher)列名數(shù)據(jù)類型大小字段描述Teacher_idVarchar50記錄教師號,設(shè)為主鍵Teacher_nameVarchar50記錄教師姓名Teacher_collegeVarchar50記錄教師所在學(xué)院每個(gè)教師授什么課都必須有記錄,而且一門課可能會(huì)有很多老師授課。因此必須包括課程名稱,年度,學(xué)期,班級號等,以便管理員和學(xué)生查詢系統(tǒng),此系統(tǒng)采用教師-課程記錄數(shù)據(jù)表(teacher-course)記錄以上信息。教師-課程記錄數(shù)據(jù)表(teacher-course)列名數(shù)據(jù)類型大小字段描述IDInt4教師-課程記錄唯一ID號,設(shè)為主鍵Teacher_idVarchar50記錄教師號Course_idVarchar50記錄教師所在任課號Class_idVarchar50記錄教師所在班級號Course_yearChar5記錄年度學(xué)期學(xué)生總是離不開課程的,系統(tǒng)設(shè)計(jì)了課程信息數(shù)據(jù)表(course),用于存儲(chǔ)所有的課程信息課程信息數(shù)據(jù)表(course)列名數(shù)據(jù)類型大小字段描述Course_idVarchar50記錄課程號,設(shè)為主鍵Course_nameVarchar50記錄課程名稱Course_periodInt4記錄課程學(xué)時(shí)Course_creditInt4記錄課程學(xué)分Course_kindInt4記錄課程類型:0公共課,1專業(yè)課,2選修課Course_descibleVarchar50記錄課程具體描述學(xué)生所學(xué)的課程都會(huì)有成績,并且每個(gè)學(xué)生每一門課只有一個(gè)成績。系統(tǒng)設(shè)計(jì)了學(xué)生-課程信息數(shù)據(jù)表(student-course)用于存儲(chǔ)本校所有學(xué)生所學(xué)的課程信息學(xué)生-課程信息數(shù)據(jù)表(student-course)列名數(shù)據(jù)類型大小字段描述IDBigint8學(xué)生-課程記錄唯一ID,設(shè)為主鍵Student_idVarchar50記錄學(xué)生學(xué)號Course_idVarchar50記錄學(xué)生所學(xué)課程號Student_gardeInt4記錄學(xué)生成績Course_yearChar5記錄年度學(xué)期3.6數(shù)據(jù)庫創(chuàng)建3.創(chuàng)建數(shù)據(jù)庫在MicrosoftSQLServer2000中,創(chuàng)建SMS數(shù)據(jù)庫的步驟如下:啟動(dòng)MicrosoftSQLServer企業(yè)管理器。在控制臺(tái)樹中右擊“數(shù)據(jù)庫”節(jié)點(diǎn),然后從快捷菜單中選擇“新建數(shù)據(jù)庫”命令,打開“數(shù)據(jù)庫屬性”對話框。輸入數(shù)據(jù)庫的名稱SMS,單擊“確定”按扭,結(jié)束表命令操作。數(shù)據(jù)庫創(chuàng)建完畢。3.創(chuàng)建表創(chuàng)建完CMS數(shù)據(jù)庫后,開始往數(shù)據(jù)庫里添加表。我們把添加過程進(jìn)行羅列。下面是創(chuàng)建SMS系統(tǒng)Book表的操作步驟:在MicrosoftSQLServer企業(yè)管理器中,展開“數(shù)據(jù)庫”和SMS節(jié)點(diǎn)。右擊“表”節(jié)點(diǎn),然后從快捷菜單中選擇“新建表”命令。設(shè)計(jì)表的結(jié)構(gòu),包括設(shè)計(jì)表中每個(gè)字段的名稱,類型,和長度等在擬創(chuàng)建的SMS的users表中,我們選中User-id字段,然后單擊工具欄的“設(shè)置主鍵”按扭,將此字段設(shè)置為主鍵。作為主鍵的字段不允許為空。單擊工具欄的“保存”按扭,然后在彈出的對話框中輸入表名users。單擊“確定”按扭,返回表設(shè)計(jì)器。單擊標(biāo)題欄的“關(guān)閉”按扭。按同樣的方法創(chuàng)建SMS中的其他表。創(chuàng)建完畢后的SMS表項(xiàng)列表。創(chuàng)建表后,如果要往表里添加記錄,請單擊“表”節(jié)點(diǎn),用戶管理表的超級管理員信息需要在系統(tǒng)運(yùn)行前進(jìn)行初始維護(hù)。方法如下:在右邊窗格中右擊相應(yīng)的表,然后從快捷菜單中選擇“打開表”子菜單,再選擇“返回所有行”命令,接著輸入每條記錄的各個(gè)字段的值,在SMS系統(tǒng)中我們打開users表添加一項(xiàng)管理員的記錄,作為系統(tǒng)以后初次運(yùn)行的第一操作員。3.創(chuàng)建存儲(chǔ)過程構(gòu)建了數(shù)據(jù)庫的表結(jié)構(gòu)以后,接下來創(chuàng)建負(fù)責(zé)表中信息選擇,添加,更新以及刪除的相關(guān)過程,由于存儲(chǔ)過程底冊應(yīng)用會(huì)給系統(tǒng)帶來優(yōu)化并提高效率,系統(tǒng)使用了如下5個(gè)存儲(chǔ)過程。select_student_1存儲(chǔ)過程insert_student_1存儲(chǔ)過程insert_course_1存儲(chǔ)過程insert_class_1存儲(chǔ)過程update_student_1存儲(chǔ)過程3.7數(shù)據(jù)庫連接/數(shù)據(jù)庫具體配置系統(tǒng)采用對數(shù)據(jù)庫配置進(jìn)行統(tǒng)一管理的方法,即將程序中用到的所有連接字符串信息統(tǒng)一放到Config.web配置文檔中,在程序中對該文檔的這一配置進(jìn)行調(diào)用,實(shí)現(xiàn)統(tǒng)一改統(tǒng)一用。對于數(shù)據(jù)庫調(diào)用字符串,數(shù)據(jù)庫使用的是本地?cái)?shù)據(jù)庫,數(shù)據(jù)源設(shè)置為localhost;用戶ID設(shè)置賦值為系統(tǒng)默認(rèn)的sa;PWD賦值為sa,這一參數(shù)與數(shù)據(jù)庫安裝時(shí)對sa用戶密碼設(shè)置有關(guān),數(shù)據(jù)庫名稱設(shè)為SMSS在文檔中,SMS數(shù)據(jù)庫設(shè)置部分集中〈appsetting〉與〈/appsetting〉之間,主要的是數(shù)據(jù)庫連接字符串。而其他的設(shè)置主要是面向應(yīng)用程序,提供服務(wù)。Config.web的配置文檔的相關(guān)主要代碼如下:<?xmlversion="1.0"encoding="utf-8"?><configuration><appSettings><addkey="dsn"value="DataSource=localhost;UID=sa;PWD=sa;DATABASE=CMS"/></appSettings><><compilationdefaultLanguage="c#"debug="true"/><customErrorsmode="RemoteOnly"/><authenticationmode="Windows"/><traceenabled="false"requestLimit="10"pageOutput="false"traceMode="SortByTime"localOnly="true"/><sessionStatemode="InProc"stateConnectionString="tcpip=:42424"sqlConnectionString="datasource=;userid=sa;password="cookieless="false"timeout="20"/><globalizationrequestEncoding="utf-8"responseEncoding="utf-8"/></></configuration>2.調(diào)用S在程序讀取Config.web的配置文檔中的數(shù)據(jù)庫設(shè)置信息,只要使用如下語句即可。語句列舉如下:Stringstrconn=ConfigurationSettings.AppSettings[“dsn”];只要在程序文件中加如該行代碼,就可以輕松的將數(shù)據(jù)庫連接字段讀取到字符串strconn中,并且每個(gè)配置段處理器只需申請一次即可,子目錄的Web.config文件會(huì)自動(dòng)繼承配置文件Machine.config,并且在次序中不用重新申請。4主要界面及相關(guān)代碼4.1學(xué)生管理系統(tǒng)首頁學(xué)生管理系統(tǒng)首頁具有自動(dòng)導(dǎo)航功能,不同用戶登陸時(shí)將根據(jù)不同的身份進(jìn)入不同的系統(tǒng)功能頁。代碼入下usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Configuration;namespacesms{ publicclass { protectedSystem.Web.UI.WebControls.TextBoxTbx_userid; protectedSystem.Web.UI.WebControls.TextBoxTbx_userpwd; protectedls.LabelLbl_note; protectedSystem.Web.UI.WebControls.ButtonBtn_enter; privatevoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁面 } #regionWebFormDesignergeneratedcode overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:該調(diào)用是ASP.NETWeb窗體設(shè)計(jì)器所必需的。 // InitializeComponent(); base.OnInit(e); } privatevoidInitializeComponent() { this.Btn_enter.Click+=newSystem.EventHandler(this.Btn_enter_Click); this.Load+=newventHandler(this.Page_Load); } #endregion privatevoidBtn_enter_Click(objectsender,System.EventArgse) { stringstrconn=ConfigurationSettings.AppSettings["dsn"]; SqlConnectioncn=newSqlConnection(strconn); cn.Open(); stringstrsql="select*fromuserswhereUser_id='"+Tbx_userid.Text+"'andUser_password='"+Tbx_userpwd.Text+"'"; SqlCommandcm=newSqlCommand(strsql,cn); SqlDataReaderdr=cm.ExecuteReader(); if(dr.Read()) {Session["User_id"]=dr["User_id"]; Session["user_power"]=dr["User_power"]; if((int)Session["User_power"]==0) { Response.Redirect("query.aspx"); } else { Response.Redirect("student.aspx"); } } else { Lbl_note.Text="對不起,登陸失??!"; } cn.Close(); } }}4.2學(xué)生班級管理維護(hù)頁面學(xué)生信息維護(hù)模塊時(shí)SMS重管理學(xué)生學(xué)籍的部分。頁面采用DataGrid控件的Dgd_student與DataSet數(shù)據(jù)集的綁定返回所有學(xué)生信息,可以對學(xué)生信息進(jìn)行修改和刪除。代碼如下:usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Configuration;namespacesms{ ///<summary> ///student的摘要說明。 ///</summary> publicclassst { protectedSystem.Web.UI.WebControls.LinkButtonLbtn_course; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_sortcourse; protectedSystem.Web.UI.WebControls.DataGridDgd_student; protectedSystem.Web.UI.WebControls.ButtonBtn_all; protectedSystem.Web.UI.WebControls.PanelPnl_sort; protectedSystem.Web.UI.WebControls.TextBoxTbx_sortid; protectedSystem.Web.UI.WebControls.ButtonBtn_ok; SqlConnectioncn; protectedSystem.Web.UI.WebControls.ButtonBtn_search; protectedSystem.Web.UI.WebControls.LabelLbl_note; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_add; protectedSystem.Web.UI.WebControls.TextBoxTbx_name; protectedSystem.Web.UI.WebControls.ButtonBtn_exit; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_grade; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_addclass; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_addteacher; protectedSystem.Web.UI.WebControls.LinkButtonLbtn_student; stringstrsql; privatevoidPage_Load(objectsender,System.EventArgse) { stringstrconn=ConfigurationSettings.AppSettings["dsn"]; cn=newSqlConnection(strconn); if(!IsPostBack) Bindgrid(); } #regionWebFormDesignergeneratedcode overrideprotectedvoidOnInit(EventArgse) { InitializeComponent(); base.OnInit(e); } privatevoidInitializeComponent() { this.Lbtn_addclass.Click+=newSystem.EventHandler(this.Lbtn_addclass_Click); this.Lbtn_addteacher.Click+=newSystem.EventHandler(this.Lbtn_addteacher_Click); this.Lbtn_course.Click+=newSystem.EventHandler(this.Lbtn_course_Click); this.Lbtn_sortcourse.Click+=newSystem.EventHandler(this.Lbtn_sortcourse_Click); this.Lbtn_grade.Click+=newSystem.EventHandler(this.Lbtn_grade_Click); this.Btn_search.Click+=newSystem.EventHandler(this.Btn_search_Click); this.Btn_ok.Click+=newSystem.EventHandler(this.Btn_ok_Click); this.Lbtn_add.Click+=newSystem.EventHandler(this.Lbtn_add_Click); this.Btn_all.Click+=newSystem.EventHandler(this.Btn_all_Click); this.Btn_exit.Click+=newSystem.EventHandler(this.Btn_exit_Click); this.Load+=newSystem.EventHandler(this.Page_Load); } #endregion privatevoidBtn_search_Click(objectsender,System.EventArgse) { Pnl_sort.Visible=true; } privatevoidBtn_all_Click(objectsender,System.EventArgse) { Pnl_sort.Visible=false; Bindgrid(); } publicvoidDataGrid_Page(objectsender,DataGridPageChangedEventArgse) { Dgd_student.CurrentPageIndex=e.NewPageIndex; Bindgrid(); } publicvoidDataGrid_cancel(objectsender,DataGridCommandEventArgse) { Dgd_student.EditItemIndex=-1; Bindgrid(); } publicvoidDataGrid_edit(objectsender,DataGridCommandEventArgse) { Dgd_student.EditItemIndex=(int)e.Item.ItemIndex; Bindgrid(); } publicvoidDataGrid_update(objectsender,DataGridCommandEventArgse) { stringstrsql="updatestudentsetStudent_name=@Student_name,Student_sex=@Student_sex,Student_nation=@Student_nation,Student_birthday=@Student_birthday,Student_time=@Student_time,Student_classid=@Student_classid,Student_home=@Student_home,Student_else=@Student_elsewhereStudent_id=@Student_id"; SqlCommandcm=newSqlCommand(strsql,cn); try { cm.Parameters.Add(newSqlParameter("@Student_name",SqlDbType.VarChar,50)); cm.Parameters.Add(newSqlParameter("@Student_sex",SqlDbType.Char,10)); cm.Parameters.Add(newSqlParameter("@Student_nation",SqlDbType.Char,10)); cm.Parameters.Add(newSqlParameter("@Student_birthday",SqlDbType.DateTime,8)); cm.Parameters.Add(newSqlParameter("@Student_time",SqlDbType.DateTime,8)); cm.Parameters.Add(newSqlParameter("@Student_classid",SqlDbType.VarChar,50)); cm.Parameters.Add(newSqlParameter("@Student_home",SqlDbType.VarChar,50)); cm.Parameters.Add(newSqlParameter("@Student_else",SqlDbType.VarChar,50)); cm.Parameters.Add(newSqlParameter("@Student_id",SqlDbType.VarChar,50)); stringcolvalue=((TextBox)e.Item.Cells[1].Controls[0]).Text; cm.Parameters["@Student_name"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[2].Controls[0]).Text; cm.Parameters["@Student_sex"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[3].Controls[0]).Text; cm.Parameters["@Student_nation"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text; cm.Parameters["@Student_birthday"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[5].Controls[0]).Text; cm.Parameters["@Student_time"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[6].Controls[0]).Text; cm.Parameters["@Student_classid"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[7].Controls[0]).Text; cm.Parameters["@Student_home"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[8].Controls[0]).Text; cm.Parameters["@Student_else"].Value=colvalue; cm.Parameters["@Student_id"].Value=Dgd_student.DataKeys[(int)e.Item.ItemIndex]; cm.Connection.Open(); cm.ExecuteNonQuery(); Lbl_note.Text="編輯成功"; Dgd_student.EditItemIndex=-1; } catch { Lbl_note.Text="編輯失敗,請檢查輸入!"; Lbl_note.Style["color"]="red"; } cm.Connection.Close(); Bindgrid(); } publicvoidDataGrid_delete(objectsender,DataGridCommandEventArgse) { stringstrsql="deletefromstudentwhereStudent_id=@userid"; SqlCommandcm=newSqlCommand(strsql,cn); cm.Parameters.Add(newSqlParameter("@userid",SqlDbType.VarChar,50)); cm.Parameters["@userid"].Value=Dgd_student.DataKeys[(int)e.Item.ItemIndex]; cm.Connection.Open(); try { cm.ExecuteNonQuery(); Lbl_note.Text="刪除成功"; } catch(SqlException) { Lbl_note.Text="刪除失敗"; Lbl_note.Style["color"]="red"; } cm.Connection.Close(); Bindgrid(); } publicvoidBindgrid() { strsql="select*fromstudent"; SqlDataAdapterda=newSqlDataAdapter(strsql,cn); DataSetds=newDataSet(); da.Fill(ds); Dgd_student.DataSource=ds; Dgd_student.DataBind(); } privatevoidBtn_ok_Click(objectsender,System.EventArgse) { strsql="select*fromstudentwhereStudent_id='"+Tbx_sortid.Text+"'orStudent_name='"+Tbx_name.Text+"'"; SqlDataAdapterda=newSqlDataAdapter(strsql,cn); DataSetds=newDataSet(); da.Fill(ds); Dgd_student.DataSource=ds; Dgd_student.DataBind(); } privatevoidLbtn_course_Click(objectsender,System.EventArgse) { Response.Redirect("course.aspx"); } privatevoidLbtn_sortcourse_Click(objectsender,System.EventArgse) { Response.Redirect("student_course.aspx"); } privatevoidLbtn_add_Click(objectsender,System.EventArgse) { Response.Redirect("addstudent.aspx"); } privatevoidBtn_exit_Click(objectsender,System.EventArgse) { Response.Redirect("default.aspx"); } privatevoidLbtn_grade_Click(objectsender,System.EventArgse) { Response.Redirect("grade_manage.aspx"); } privatevoidLbtn_addclass_Click(objectsender,System.EventArgse) { Response.Redirect("classes.aspx"); } privatevoidLbtn_addteacher_Click(objectsender,System.EventArgse) { Response.Redirect("teacher.aspx"); } privatevoidLbtn_student_Click(objectsender,System.EventArgse) { Response.Redirect("student.aspx"); } }}4.3學(xué)生班級添加頁面學(xué)生信息添加頁面主要負(fù)責(zé)往數(shù)據(jù)庫里添加數(shù)據(jù)。后臺(tái)支持事件主要為Btn_ok_Click()事件負(fù)責(zé)當(dāng)用戶單擊“確定”按鈕后的數(shù)據(jù)庫添加操作。利用RequiredFieldValidator控件可以用來驗(yàn)證用戶輸入信息是否為空。若輸入學(xué)號存在,利用CustomValidator驗(yàn)證控件,觸發(fā)ServerValidator事件,判斷是否存在此學(xué)號的學(xué)生。“重置”按鈕的click事件將完成刷新此頁面的功能。代碼如下:usingSystem;usingns;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Configuration;namespacesms{ ///<summary> ///addstudent的摘要說明。 ///</summary> publicclass { protectedSystem.Web.UI.WebControls.TextBoxTbx_id; protectedSystem.Web.UI.WebControls.TextBoxTbx_name; protectedSystem.Web.UI.WebControls.TextBoxTbx_nation; protectedSystem.Web.UI.WebControls.TextBoxTbx_birthday; protectedSystem.Web.UI.WebControls.TextBoxTbx_time; protectedSystem.Web.UI.WebControls.TextBoxTbx_home; protectedSystem.Web.UI.WebControls.TextBoxTbx_else; protectedSystem.Web.UI.WebControls.DropDownListDdl_sex; protectedSystem.Web.UI.WebControls.ButtonBtn_ok; protectedSystem.Web.UI.WebControls.CustomValidatorCv_id; protectedSystem.Web.UI.WebControls.LabelLbl_note; protectedSystem.Web.UI.WebControls.ButtonBtn_reset; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_name; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_id; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_nation; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_birthday; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_time; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_class; protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRfv_home; protectedSystem.Web.UI.WebControls.DropDownListDdl_class; SqlConnectioncn; privatevoidPage_Load(objectsender,System.EventArgse) {//班級名稱下拉列表框綁定 stringstrconn=ConfigurationSettings.AppSettings["dsn"]; SqlConnectioncn0=newSqlConnection(strconn); if(!IsPostBack) { cn0.Open(); stringmysql="select*fromclass"; SqlCommandcm1=newSqlCommand(mysql,cn0); SqlDataReaderdr1=cm1.ExecuteReader(); while(dr1.Read()) { Ddl_class.Items.Add(newListItem(dr1["Class_name"].ToString(),dr1["Class_id"].ToString())); } cn0.Close(); } //在此處放置用戶代碼以初始化頁面 cn=newSqlConnection(strconn); } #regionWebFormDesignergeneratedcode overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:該調(diào)用是ASP.NETWeb窗體設(shè)計(jì)器所必需的。 // InitializeComponent(); base.OnInit(e); } privatevoidInitializeComponent() { this.Cv_id.ServerValidate+=newSystem.Web.UI.WebControls.ServerValidateEventHandler(this.Cv_id_ServerValidate); this.Btn_ok.Click+=newSystem.EventHandler(this.Btn_ok_Click); this.Btn_reset.Click+=newSystem.EventHandler(this.Btn_reset_Click); this.Load+=newSystem.EventHandler(this.Page_Load); } #endregion privatevoidBtn_ok_Click(objectsender,System.EventArgse) { SqlCommandcm=newSqlCommand("insert_student_1",cn); cm.CommandType=CommandType.StoredProcedure; try { cm.Parameters.Add(newSqlParam

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論