版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.洛 陽 理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 高級(jí)語言c#課程設(shè)計(jì) 設(shè)計(jì)題目 學(xué)生信息管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) b130506 學(xué) 號(hào) b13050624 姓 名 張葵 完成日期 2015.12.31 精品.課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目: 學(xué)生信息管理系統(tǒng) 教務(wù)員可以輸入學(xué)生、教師、班級(jí)、課程信息,一個(gè)班級(jí)只屬于一個(gè)專業(yè),一個(gè)學(xué)生只屬于一個(gè)班級(jí)。教務(wù)員負(fù)責(zé)輸入每個(gè)專業(yè)、每個(gè)班級(jí)需要學(xué)習(xí)哪些課程,指定課程的任課教師。一個(gè)教師可以教授多個(gè)班的多門課程。教師可以查看學(xué)習(xí)該課程的學(xué)生名單。課程結(jié)束后,教師可以錄入課程成績。課程分兩類,必修課和選修課。學(xué)生可以選修課程
2、,每學(xué)期幾門。學(xué)生可以查看自己各門課程的成績。學(xué)生還可以進(jìn)行評(píng)教,給老師打分。系統(tǒng)管理員可以輸入教室信息,并結(jié)合班級(jí)、課程、教室信息實(shí)現(xiàn)自動(dòng)排課。 指導(dǎo)教師: 張文學(xué) 2015 年 12 月 27 日課 程 設(shè) 計(jì) 評(píng) 語 成績: 指導(dǎo)教師:_ 2015 年 12 月 31 日精品.目錄第 1 章 需求和可行性分析31.1需求分析31.1.1 功能需求31.1.2性能需求31.2可行性分析41.2.1 技術(shù)可行性41.2.2 經(jīng)濟(jì)可行性4第2章 系統(tǒng)設(shè)計(jì)概述52.1 整體設(shè)計(jì)概述52.1.1 設(shè)計(jì)流程52.1.2 設(shè)計(jì)思路62.2 功能模塊介紹62.2.1 學(xué)生信息模塊62.2.2 教師模塊7
3、2.2.3 教務(wù)員模塊82.2.4管理員登錄9第3章 數(shù)據(jù)庫的搭建和實(shí)現(xiàn)103.1數(shù)據(jù)庫設(shè)計(jì)概述103.2 e-r圖的設(shè)計(jì)103.3 數(shù)據(jù)庫表的創(chuàng)建123.3.1學(xué)生表的創(chuàng)建123.3.2 教師表的創(chuàng)建133.3.3 課程表的創(chuàng)建133.3.4成績表的創(chuàng)建143.4存儲(chǔ)過程的創(chuàng)建143.4.1 分配班級(jí)存儲(chǔ)過程143.4.2 班級(jí)信息的存儲(chǔ)過程153.4.3 學(xué)生課程的存儲(chǔ)過程153.4.4學(xué)生成績存儲(chǔ)過程16精品.第4章 c#高級(jí)語言的實(shí)現(xiàn)174.1概述174.2數(shù)據(jù)庫的連接174.3 開始界面的設(shè)計(jì)184.4系統(tǒng)管理員184.4.1 登錄功能和界面184.4.2 管理員顯示界面214.5學(xué)
4、生功能介紹和實(shí)現(xiàn)264.5.1 登錄界面和功能實(shí)現(xiàn)264.5.2 學(xué)生用戶界面27第5章 結(jié)論29第6 章 謝辭30參考文獻(xiàn)31精品.第 1 章 需求和可行性分析1.1需求分析學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要。學(xué)校的管理人員可以通過電腦對(duì)學(xué)生信息進(jìn)行有效的管理,避免了以往人工管理的復(fù)雜和耗時(shí)費(fèi)力的勞動(dòng),也大大的能夠減少管理人員的工作量,可以有效的節(jié)約學(xué)校的開支。1.1.1 功能需求作為一個(gè)學(xué)生的信息管理系統(tǒng),必須要有管理人員能夠進(jìn)行對(duì)學(xué)生的信息進(jìn)行有效的管理,因此,系統(tǒng)必須預(yù)留一個(gè)管理員的登錄窗口和登錄之后所能進(jìn)行的操作,在學(xué)生信息管
5、理系統(tǒng)中,管理員具有最高的權(quán)限,可以對(duì)學(xué)生、老師、班級(jí)、專業(yè)等等進(jìn)行添加、刪除、修改個(gè)查詢。除了擁有管理員之外,還應(yīng)該擁有教務(wù)處對(duì)學(xué)生進(jìn)行管理,例如:對(duì)學(xué)生課程,成績等等具有一定的權(quán)限。此外,還應(yīng)該有老師的一個(gè)權(quán)限,老師在帶完一門課之后可以對(duì)學(xué)生進(jìn)行一個(gè)成績錄入和平時(shí)布置作業(yè)的功能。最后是學(xué)生自己擁有的功能,學(xué)生在考試結(jié)束后可以利用系統(tǒng)登錄自己的賬戶對(duì)成績進(jìn)行查詢。1.1.2性能需求在學(xué)生信息管理系統(tǒng)中,要明確各類用戶所能擁有的最高權(quán)限,如果一旦權(quán)限的問題搞錯(cuò)以后,整個(gè)系統(tǒng)就會(huì)變得沒有價(jià)值。例如:學(xué)生只有對(duì)成績的查詢功能,而不能對(duì)成績擁有修改和刪除以及插入的功能。老師只能夠?qū)W(xué)生進(jìn)行成績的錄入
6、和平時(shí)布置作業(yè),而不能刪除學(xué)生的個(gè)人信息等權(quán)限。要設(shè)立不同的異常機(jī)制,這樣不會(huì)因?yàn)橛脩舻腻e(cuò)誤的操作而使得系統(tǒng)瞬時(shí)奔潰。我們要在代碼中設(shè)置不同的異常拋出機(jī)制,這樣就可以使得用戶在進(jìn)行了錯(cuò)誤的或者違反規(guī)則的操作之后,系統(tǒng)不會(huì)出現(xiàn)突然的停止運(yùn)轉(zhuǎn)。精品.1.2可行性分析隨著計(jì)算機(jī)語言和數(shù)據(jù)服務(wù)的不斷發(fā)展,使得許多的現(xiàn)實(shí)問題都可以利用計(jì)算機(jī)來幫助人類實(shí)現(xiàn)輕巧,方便的管理。在教育上,學(xué)生是一個(gè)龐大的群體,因此技術(shù)人員早早就開始想辦法解決這個(gè)問題,因此,目前對(duì)于學(xué)生信息的管理各種語言都能夠編寫出一套完整的、可用的學(xué)生信息管理系統(tǒng)。1.2.1 技術(shù)可行性在這套系統(tǒng)的開發(fā)中,采用的是開發(fā)語言是c#,軟件是vis
7、io studio2010,c#是微軟對(duì)問題的解決方案。c#是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于microsoft.net平臺(tái)的應(yīng)用程序,microsoft .net提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計(jì)算與通訊領(lǐng)域。正是由于c#面向?qū)ο蟮淖吭皆O(shè)計(jì),使它成為構(gòu)建各類組件的理想之選-無論是高級(jí)的商業(yè)對(duì)象還是系統(tǒng)級(jí)的應(yīng)用程序。使用簡單的c#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為xml 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過internet進(jìn)行調(diào)用。最重要的是,c#使得c+程序員可以高效的開發(fā)程序,而絕不損失c/c+原有的強(qiáng)大的功能。因?yàn)檫@種繼承關(guān)
8、系,c#與c/c+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向c#。數(shù)據(jù)庫采用的是sql server2008r2,這個(gè)sql數(shù)據(jù)庫版本是微軟公司推出的針對(duì)微軟用戶的一種關(guān)系型數(shù)據(jù)庫,語言簡單,實(shí)用。與visio studio 2010結(jié)合相對(duì)簡單實(shí)用。1.2.2 經(jīng)濟(jì)可行性現(xiàn)在隨著互聯(lián)網(wǎng)絡(luò)、計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字城市成為當(dāng)前熱點(diǎn)話題。同時(shí)在國家政策給予大力支持的條件下,這些技術(shù)熱點(diǎn)給社會(huì)產(chǎn)生了極大的影響,不僅給生活、學(xué)習(xí)和管理帶來了新的體驗(yàn),同時(shí)也帶動(dòng)了經(jīng)濟(jì)的增長。精品.學(xué)生管理系統(tǒng)使用比較簡單的c#語言開發(fā),而且目前中國的學(xué)校和教育機(jī)構(gòu)眾多,許多的地方都需要用到這套學(xué)生信息管理系統(tǒng)
9、,因此學(xué)生信息管理系統(tǒng)具有廣闊的市場前景和發(fā)展動(dòng)力。第2章 系統(tǒng)設(shè)計(jì)概述2.1 整體設(shè)計(jì)概述這套學(xué)生信息管理系統(tǒng)旨在為用戶提供更加有效的、方便的和快捷的學(xué)生的管理系統(tǒng)。本套系統(tǒng)在結(jié)構(gòu)上由數(shù)據(jù)庫和高級(jí)語言兩部分組成,數(shù)據(jù)庫部分負(fù)責(zé)此套系統(tǒng)所要用到的所有的數(shù)據(jù)庫的表的創(chuàng)建和所用到的存儲(chǔ)過程的創(chuàng)建。c#部分是具體的設(shè)計(jì)ui界面和具體的邏輯實(shí)現(xiàn),用戶可以通過在自己電腦上點(diǎn)擊ui上的控件進(jìn)行操作。2.1.1 設(shè)計(jì)流程精品.圖 1 整體設(shè)計(jì)思路圖2.1.2 設(shè)計(jì)思路這套學(xué)生信息管理系統(tǒng)是由數(shù)據(jù)庫和業(yè)務(wù)邏輯層和ui層三部分構(gòu)成,用戶在ui層上進(jìn)行操作,數(shù)據(jù)通過業(yè)務(wù)邏輯層數(shù)據(jù)傳至數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修
10、改,在用戶需要用到數(shù)據(jù)庫中的數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)從數(shù)據(jù)庫中提出經(jīng)過業(yè)務(wù)邏輯層上傳至ui層,以供用戶查閱和進(jìn)行其他的操作。業(yè)務(wù)邏輯層主要負(fù)責(zé)的工作就是將ui傳來的數(shù)據(jù)進(jìn)行分析,并且做出判斷,然后根據(jù)判斷出的結(jié)果進(jìn)行對(duì)數(shù)據(jù)庫的訪問。數(shù)據(jù)庫的主要任務(wù)就是為系統(tǒng)提供數(shù)據(jù)的存儲(chǔ)。2.2 功能模塊介紹以下會(huì)對(duì)本套系統(tǒng)中的主要模塊做一個(gè)簡單的介紹與分析。精品.2.2.1 學(xué)生信息模塊學(xué)生模塊的主要功能是對(duì)自己的成績能夠有效的進(jìn)行查詢和能夠?qū)處熥龀鲇行У脑u(píng)價(jià)在學(xué)期末。每個(gè)學(xué)生只能夠?qū)ψ约旱某煽冞M(jìn)行有效的查詢,在登錄自己的賬戶之后,其他的同學(xué)的成績是不可見的,這樣也是起到了一種隱私的保護(hù)作用,而且學(xué)生在登錄自己的賬
11、戶之后沒有成績修改和添加以及刪除的功能。圖2 學(xué)生用戶登錄2.2.2 教師模塊教師在使用該系統(tǒng)時(shí),主要的任務(wù)是向?qū)W生下達(dá)作業(yè)任務(wù)和在期末考試結(jié)束之后給給學(xué)生錄入成績,使得學(xué)生能夠通過自己的賬戶登錄該系統(tǒng)之后能夠看到自己的成績。在錄入成績之后不能對(duì)學(xué)生的成績進(jìn)行修改。精品.圖3 教師用戶登錄2.2.3 教務(wù)員模塊教務(wù)員使用該套系統(tǒng)的主要目的是對(duì)教室進(jìn)行管理,以及能夠根據(jù)各個(gè)班級(jí)的具體課程情況對(duì)班級(jí)進(jìn)行排課。圖 4 教務(wù)員登錄精品.2.2.4管理員登錄管理員是此套系統(tǒng)的擁有最高的權(quán)限,他可以添加學(xué)生、老師和教務(wù)員的信息,以及進(jìn)行修改和刪除等等。圖 5 管理員登錄精品.第3章 數(shù)據(jù)庫的搭建和實(shí)現(xiàn)3.
12、1數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫在現(xiàn)代的系統(tǒng)的開發(fā)中,起到了非常重要的作用。數(shù)據(jù)庫可以對(duì)數(shù)據(jù)起到一種長期保存的效果,而且可以利用終端隨時(shí)隨地的通過網(wǎng)絡(luò)來訪問服務(wù)器,進(jìn)而訪問數(shù)據(jù)庫,找到自己想要的數(shù)據(jù)和信息。3.2 e-r圖的設(shè)計(jì)er圖在設(shè)計(jì)數(shù)據(jù)圖的時(shí)候起到了非常關(guān)鍵的作用,可以從er圖中清晰的看到各個(gè)對(duì)象之間的關(guān)系和它具有的屬性,因此,在創(chuàng)建數(shù)據(jù)庫的時(shí)候會(huì)更加的方便和得心應(yīng)手。圖 6 學(xué)生的er圖圖7 教師的er圖精品.圖 8 教務(wù)員er圖圖 9管理員er圖圖 10 班級(jí)er圖圖 11 課程er圖圖12 成績er圖精品.3.3 數(shù)據(jù)庫表的創(chuàng)建數(shù)據(jù)庫中的數(shù)據(jù)都是通過表來進(jìn)行存儲(chǔ)的,因此,要將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)
13、庫中,必須將表的結(jié)構(gòu)進(jìn)行合理化的設(shè)計(jì),er圖為表的創(chuàng)建提供了良好的理論支撐,現(xiàn)在在建表的時(shí)候要考慮的是數(shù)據(jù)的存儲(chǔ)大小,我們現(xiàn)在采用可以變換大小的varchar()類型進(jìn)行存儲(chǔ),這樣不會(huì)導(dǎo)致內(nèi)存的無故浪費(fèi)。圖 13 整體表的創(chuàng)建3.3.1學(xué)生表的創(chuàng)建學(xué)生表中主要是學(xué)生的一些屬性,例如學(xué)生的學(xué)號(hào),姓名,年齡和性別等等,在學(xué)生管理系統(tǒng)中,學(xué)號(hào)作為該表的主鍵,設(shè)計(jì)如下:精品.圖14 學(xué)生表的創(chuàng)建3.3.2 教師表的創(chuàng)建教師表中也是教師的一些屬性,例如教工號(hào)、姓名和教室名等等,教工號(hào)為主鍵,設(shè)計(jì)如下:圖 15 教師表的創(chuàng)建3.3.3 課程表的創(chuàng)建在課程表中,屬性是關(guān)于課程的一些信息,例如課程號(hào)、課程名和
14、該課程的學(xué)時(shí)和學(xué)分。課程號(hào)是主鍵,設(shè)計(jì)如下:圖16 課程表的創(chuàng)建精品.3.3.4成績表的創(chuàng)建在創(chuàng)建完學(xué)生表和課程表之后,需要一個(gè)成績表來顯示學(xué)生的成績信息,成績要與學(xué)生個(gè)人和課程能夠匹配上,在這里,需要設(shè)置學(xué)號(hào)和課程號(hào)為主鍵,而學(xué)生表中的學(xué)號(hào)和課程表中的課程號(hào)都是外鍵,設(shè)計(jì)如下:圖17 成績表的創(chuàng)建3.4存儲(chǔ)過程的創(chuàng)建在使用數(shù)據(jù)庫的時(shí)候有時(shí)候不是一個(gè)表所能完成的一項(xiàng)任務(wù),我們往往會(huì)采用存儲(chǔ)過程進(jìn)行多表的結(jié)合使用,例如:要查詢某個(gè)專業(yè)下的某個(gè)年級(jí)的某個(gè)班的一位同學(xué)的信息并且把這些信息顯示出來,這樣就會(huì)涉及到專業(yè)表、年級(jí)表、班級(jí)表和學(xué)生表。因此,在這個(gè)時(shí)候我們需要將多表進(jìn)行結(jié)合使用,這里就會(huì)使用到
15、存儲(chǔ)過程。在本套系統(tǒng)中,我采用了幾個(gè)存儲(chǔ)過程來對(duì)學(xué)生的信息進(jìn)行管理。圖18 整體的存儲(chǔ)過程3.4.1 分配班級(jí)存儲(chǔ)過程在分配班級(jí)的時(shí)候要用到班級(jí)和專業(yè)兩個(gè)表,因此要通過這兩個(gè)表進(jìn)行分配,精品.從而確定某一個(gè)班是屬于哪一個(gè)專業(yè),代碼如下:use student_admingoset ansi_nulls ongoset quoted_identifier ongoalter procedure dbo.class_choosepro varchar(20), cla varchar(20)as select professional.專業(yè)名,class.班級(jí)號(hào),course.課程名,course
16、.課時(shí)數(shù),course.學(xué)分from professional,course,classwhere professional.專業(yè)號(hào) = class.專業(yè)號(hào) and professional.專業(yè)名 = pro and class.班級(jí)號(hào) = cla3.4.2 班級(jí)信息的存儲(chǔ)過程查詢某一個(gè)班級(jí)信息的功能,這個(gè)功能函數(shù)既可以在數(shù)據(jù)庫中用存儲(chǔ)過程實(shí)現(xiàn)也可以在c#中通過語言的邏輯來實(shí)現(xiàn),在這套系統(tǒng)中,我采用的是利用在數(shù)據(jù)庫中建立了一般班級(jí)信息的存儲(chǔ)過程來實(shí)現(xiàn)的,在c#中通過調(diào)用該存儲(chǔ)過程,然后向其中傳遞一個(gè)參數(shù)就可以實(shí)現(xiàn)。代碼如下:use student_admingoset ansi_nulls
17、ongoset quoted_identifier ongoalter procedure dbo.class_messageclassno varchar(20)asselect 班級(jí)號(hào),專業(yè)名,班主任,班長,人數(shù)from classwhere 班級(jí)號(hào) = classno3.4.3 學(xué)生課程的存儲(chǔ)過程學(xué)生的課程信息不僅僅包含了學(xué)生類,而且還包含了課程類,我們需要將這兩個(gè)表進(jìn)行有效的結(jié)合進(jìn)行使用,在這套系統(tǒng)中我采用的是利用在數(shù)據(jù)庫中建立一個(gè)學(xué)生課程的存儲(chǔ)過程來顯示學(xué)生的課程信息,預(yù)留一個(gè)輸入?yún)?shù)精品.學(xué)生的學(xué)號(hào),可以利用學(xué)號(hào)就可以查詢到該學(xué)生的課程信息。代碼如下:use student_adm
18、ingoset ansi_nulls ongoset quoted_identifier ongoalter procedure dbo.student_coursecourseno varchar(20)asselect student.學(xué)號(hào),student.姓名,student.班級(jí)號(hào),course.課程名,grade.分?jǐn)?shù)from student,course,gradewhere student.學(xué)號(hào) = grade.學(xué)號(hào) and course.課程號(hào) = grade.課程號(hào) and 課程名 = courseno 3.4.4學(xué)生成績存儲(chǔ)過程在學(xué)生管理系統(tǒng)中,非常重要的一環(huán)就是學(xué)生可以查
19、看自己的成績,在這套系統(tǒng)中,采用的也是在數(shù)據(jù)庫中建立一個(gè)關(guān)于學(xué)生的存儲(chǔ)過程,是按照學(xué)號(hào)進(jìn)行查詢的,在c#中,調(diào)用該存儲(chǔ)過程,輸入一個(gè)學(xué)號(hào)的參數(shù),便可以查詢?cè)搶W(xué)生的成績信息,防止查詢了其他人成績,起到隱私保護(hù)的作用。代碼如下:use student_admingoset ansi_nulls ongoset quoted_identifier ongoalter procedure dbo.student_gradestudent_id varchar(20)asselect student.學(xué)號(hào),student.姓名,course.課程名,grade.分?jǐn)?shù), choose.選課名,grade.
20、選修分?jǐn)?shù)from student,course,grade,choosewhere student.學(xué)號(hào) = grade.學(xué)號(hào) and choose.選課號(hào) = grade.選課號(hào) and student.學(xué)號(hào) = student_id精品.第4章 c#高級(jí)語言的實(shí)現(xiàn)4.1概述在數(shù)據(jù)庫進(jìn)行完設(shè)計(jì)之后,就要使用c#這種高級(jí)語言將他真正的能夠和用戶產(chǎn)生聯(lián)系,用戶接觸到的是ui層面,因此我們的任務(wù)就是通過ui層進(jìn)行數(shù)據(jù)傳遞到業(yè)務(wù)邏輯層然后進(jìn)行數(shù)據(jù)的轉(zhuǎn)化和業(yè)務(wù)邏輯的實(shí)現(xiàn)。4.2數(shù)據(jù)庫的連接在本套系統(tǒng)中,連接數(shù)據(jù)庫我采用的是利用數(shù)據(jù)源來連接數(shù)據(jù)庫,這樣就可以將連接數(shù)據(jù)庫的字符串和commod都封裝在數(shù)據(jù)
21、源中,為每個(gè)表都創(chuàng)建好數(shù)據(jù)源和數(shù)據(jù)適配器,這樣可以減少代碼量,而且也會(huì)使得程序變得簡潔明了,在使用一個(gè)數(shù)據(jù)庫中的某一個(gè)表的時(shí)候只需要?jiǎng)?chuàng)建一個(gè)該表的數(shù)據(jù)適配器和一個(gè)共有的dataset即可。關(guān)系圖如下:圖19 數(shù)據(jù)源圖示精品.4.3 開始界面的設(shè)計(jì)開始界面主要是讓用戶選擇自己的身份類型進(jìn)行系統(tǒng)的登錄。如果用戶選擇的是系統(tǒng)管理員的登錄方式,系統(tǒng)會(huì)自動(dòng)的進(jìn)行頁面的跳轉(zhuǎn),跳轉(zhuǎn)到系統(tǒng)管理員的登錄界面。圖 20 登錄類型選擇4.4系統(tǒng)管理員4.4.1 登錄功能和界面登錄界面主要是讓用戶輸入賬號(hào)和密碼進(jìn)行登錄,界面的風(fēng)格是一致的,只是通過調(diào)用不同的數(shù)據(jù)庫的信息進(jìn)行不同的登錄。精品.圖21 登錄界面用戶在輸入
22、賬號(hào)和密碼的時(shí)候,系統(tǒng)會(huì)調(diào)用數(shù)據(jù)中的相應(yīng)的表進(jìn)行查看是否與表中的數(shù)據(jù)匹配,如果匹配則能夠登錄成功,否則不成功。如果登錄成功,該賬號(hào)和密碼會(huì)被記錄到本地的文件中進(jìn)行存儲(chǔ),以此達(dá)到下次登錄時(shí)的快捷和方便,代碼如下:private void button1_click(object sender, eventargs e) /登?錄?到?管理員的?界?面? string name = null; string pass = null; stringbuilder sname = new stringbuilder(管理賬?號(hào)?=); sname.append(combobox1.text); sna
23、me.append(); if (combobox1.text != ) try datarow row = table1.select(sname.tostring(); row1 = row0; name = row10.tostring(); pass = row12.tostring(); catch (exception ex) messagebox.show(ex.message);精品. if (name = combobox1.text) / messagebox.show(name); if (textbox1.text = pass) /進(jìn)?入?管理員的?后臺(tái) admin_
24、show a = new admin_show(); a.show(); if (checkbox1.canfocus) if (file.exists(txt) string ss = name, pass ; file.writealllines(txt, ss); else file.create(txt); else string ss = , ; file.writealllines(txt, ss); else messagebox.show(沒?有d此?管理員); else /學(xué)生進(jìn)?入? messagebox.show(賬?號(hào)?和密碼?不?匹配?); / label4.text
25、 = 賬?號(hào)?和密碼?不?匹配?,?請(qǐng)?重?新?輸?入?; else messagebox.show(請(qǐng)?輸?入?賬?號(hào)?); 精品.4.4.2 管理員顯示界面在管理員登錄自己的賬號(hào)之后,可以對(duì)學(xué)生、老師、課程和班級(jí)進(jìn)行查詢,添加、刪除、修改和保存。這套系統(tǒng)中,可以根據(jù)學(xué)號(hào)和姓名進(jìn)行查找,輸入學(xué)號(hào)或者姓名,會(huì)進(jìn)一步的調(diào)用數(shù)據(jù)庫進(jìn)行查詢,如果數(shù)據(jù)庫中有該成員的信息,則會(huì)被現(xiàn)實(shí)在右邊的顯示框中,在datagaridview中顯示的是該類成員所有的數(shù)據(jù)信息。在管理員查到成員信息之后,可以根據(jù)現(xiàn)在的情況進(jìn)行對(duì)成員的信息進(jìn)行相應(yīng)的操作,例如:有一個(gè)學(xué)生退學(xué),管理員可以查詢到該生之后將該生信息進(jìn)行刪除。如
26、果有一個(gè)老師的登錄密碼忘記了,管理員可以登錄系統(tǒng)進(jìn)行對(duì)該教師密碼的一個(gè)重置。圖22 管理員查詢學(xué)生信息按照學(xué)號(hào)查詢學(xué)生信息的代碼如下:private void button3_click(object sender, eventargs e) /按學(xué)號(hào)?查找 /stringbuilder stringbuilder = new stringbuilder(); if (combobox1.text.length!=0) datarow row = dataset.tablesstudent.select(學(xué)號(hào)?= + combobox1.text.trim()+); try 精品. datar
27、ow1 = row0; textbox5.text = datarow10.tostring(); textbox6.text = datarow11.tostring(); textbox7.text = datarow12.tostring(); textbox8.text = datarow13.tostring(); textbox9.text = datarow14.tostring(); textbox10.text = datarow15.tostring(); textbox11.text = datarow16.tostring(); textbox12.text = dat
28、arow17.tostring(); textbox13.text = datarow18.tostring(); catch(exception ex) messagebox.show(ex.message); 按照姓名查詢學(xué)生信息的代碼如下:private void button4_click(object sender, eventargs e) /按姓?名?查找 if (textbox1.textlength != 0) stringbuilder name = new stringbuilder(姓?名?=); name.append(textbox1.text); name.app
29、end(); datarow row = st_table.select(name.tostring(); try string str = row0.tostring(); / datarow row = dataset.tablesadmin.select(姓?名?= + textbox8.text).tostring(); datarow1 = row0; textbox5.text = datarow10.tostring(); textbox6.text = datarow11.tostring(); textbox7.text = datarow12.tostring(); tex
30、tbox8.text = datarow13.tostring(); textbox9.text = datarow14.tostring();精品. textbox10.text = datarow15.tostring(); textbox11.text = datarow16.tostring(); textbox12.text = datarow17.tostring(); textbox13.text = datarow18.tostring(); catch (exception ex) messagebox.show(ex.message); 添加學(xué)生信息代碼:private v
31、oid button5_click(object sender, eventargs e) /添加 datarow row = st_table.newrow(); if (textbox5.text = ) row0 = dbnull.value; else row0 = textbox5.text.trim(); if (textbox6.text = ) row1 = dbnull.value; else row1 = textbox6.text.trim(); if (textbox7.text = ) row2 = dbnull.value; else row2 = textbox7
32、.text.trim(); if (textbox8.text = ) row3 = dbnull.value; else row3 = textbox8.text.trim(); if (textbox9.text = ) row4 = dbnull.value; else row4 = textbox9.text.trim(); if (textbox10.text = ) row5 = dbnull.value; else row5 = textbox10.text.trim();精品. if (textbox11.text = ) row6 = dbnull.value; else r
33、ow6 = textbox11.text.trim(); if (textbox12.text = ) row7 = dbnull.value; else row7 = textbox12.text.trim(); if (textbox13.text = ) row8 = dbnull.value; else row8 = textbox13.text.trim(); try st_table.rows.add(row); catch (exception ex) messagebox.show(ex.message); 修改學(xué)生信息代碼如下:private void button6_cli
34、ck(object sender, eventargs e) /修t改? try if (textbox5.text = ) datarow10 = dbnull.value; else datarow10 = textbox5.text.trim(); if (textbox6.text = ) datarow11 = dbnull.value; else datarow11 = textbox6.text.trim(); if (textbox7.text = ) datarow12 = dbnull.value; else datarow12 = textbox7.text.trim()
35、; if (textbox8.text = ) datarow13 = dbnull.value; else datarow13 = textbox8.text.trim(); if (textbox9.text = ) datarow14 = dbnull.value;精品. else datarow14 = textbox9.text.trim(); if (textbox10.text = ) datarow15 = dbnull.value; else datarow15 = textbox10.text.trim(); if (textbox11.text = ) datarow16
36、 = dbnull.value; else datarow16 = textbox11.text.trim(); if (textbox12.text = ) datarow17 = dbnull.value; else datarow17 = textbox12.text.trim(); if (textbox13.text = ) datarow18 = dbnull.value; else datarow18 = textbox13.text.trim(); catch (exception ex) messagebox.show(ex.message); 刪除學(xué)生信息代碼如下: pri
37、vate void button7_click(object sender, eventargs e) /刪?除y dataview view = new dataview(dataset.tablesstudent); stringbuilder bulid = new stringbuilder(學(xué)號(hào)?=); try bulid.append(datarow10); bulid.append(); view.rowfilter = bulid.tostring(); view.delete(0); view.endinit(); /ds1.tables0.rows.remove(row4)
38、; catch (exception ex)精品. messagebox.show(沒?有d此?學(xué)生 + ex.message, 提示?, messageboxbuttons.ok, messageboxicon.information); textbox5.text = ; textbox6.text = ; textbox7.text = ; textbox8.text = ; textbox9.text = ; textbox10.text = ; textbox11.text = ; textbox12.text = ; textbox13.text = ; / textbox14.text = ; 保存學(xué)生信息代碼如下: private void button8_click(object sender, eventargs e) /保存? try student_a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通運(yùn)輸設(shè)備行業(yè)勞動(dòng)合同樣本
- 倉儲(chǔ)總監(jiān)勞動(dòng)合同模板
- 個(gè)人自建房屋綠色建筑合同
- 二手立式空調(diào)購銷合同范本
- 臨時(shí)工合同終止條件規(guī)定模板
- LED車站照明改造工程合同
- 個(gè)人車輛交易合同模板個(gè)人
- 代理記賬業(yè)務(wù)服務(wù)合同書
- 臨海市法律行業(yè)勞動(dòng)合同
- 2024-2030年餃子機(jī)行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 北京市居住區(qū)公共服務(wù)設(shè)施配套指標(biāo)
- 2023通信原理期中考題及答案
- 銀行保險(xiǎn)理財(cái)沙龍課件
- 科技時(shí)代人們的時(shí)間(孫宏)
- 第4課 部屋に 機(jī)と いすが あります 課件【知識(shí)精講+備課精研+高效課堂】 高中日語新版標(biāo)準(zhǔn)日本語初級(jí)上冊(cè)
- 軌行區(qū)手推小平車(梯車)驗(yàn)收記錄表
- 工程變更聯(lián)系單【范本模板】
- 史前動(dòng)物課件
- 人教版PEP小學(xué)英語六年級(jí)上冊(cè)全冊(cè)教學(xué)設(shè)計(jì)教案
- 教育培訓(xùn)機(jī)構(gòu)所有表格
評(píng)論
0/150
提交評(píng)論