版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生信息管理系統(tǒng)1 引言1.1 項(xiàng)目背景隨著信息技術(shù)在管理上越來(lái)越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。 管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。目前, 在學(xué)校里,隨著高校規(guī)模的不斷擴(kuò)大和招生人數(shù)的不斷增加,需要處理大量的學(xué)生數(shù)據(jù)信息。如何更好的組織學(xué)生信息,更加快捷的管理學(xué)生信息顯得尤為的重要。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn) .例如 :檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提
2、高學(xué)生信息管理的效率,也是學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。我們?yōu)榇碎_(kāi)發(fā)了一套學(xué)生信息管理系統(tǒng),本系統(tǒng)面向?qū)W校的教務(wù)人員,目的是為學(xué)校辦公管理提供一個(gè)快速、簡(jiǎn)單規(guī)范的管理平臺(tái),使學(xué)院在學(xué)生信息管理方面更加規(guī)范化,快捷化。1.2 項(xiàng)目目標(biāo)本章以學(xué)校的學(xué)生信息管理為依托,結(jié)合教務(wù)教學(xué)管理,設(shè)計(jì)并開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng), 提供一個(gè)信息更新快捷、管理方便、功能設(shè)置合理的學(xué)生信息管理解決方案。針對(duì)學(xué)校大量的學(xué)生信息,就學(xué)生管理的幾個(gè)方面,提供一個(gè)互動(dòng)式的學(xué)生管理平臺(tái)。系統(tǒng)目標(biāo)如下:通過(guò)學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn),使學(xué)校的學(xué)生信息管理更加科學(xué)化。提供靈活、方便的操作。節(jié)約學(xué)生信息管理的成本,提
3、高學(xué)校管理的效率。對(duì)系統(tǒng)提供必要的權(quán)限管理。為學(xué)??己藢W(xué)生的綜合素質(zhì)提供必要的數(shù)據(jù)支持。2 需求分析2.1 系統(tǒng)需求在各大中專院校,學(xué)校的教務(wù)管理的主要內(nèi)容包括學(xué)生的信息管理和教師排課,學(xué)生信息管理傳統(tǒng)的手工管理主要包括學(xué)生檔案管理,學(xué)生成績(jī)管理。 其中學(xué)生信息管理對(duì)大數(shù)據(jù)量要求較高, 而教師排課系統(tǒng)由于需要十分專業(yè)的算法并且系統(tǒng)需求不斷的變化,因此在實(shí)際應(yīng)用時(shí), 往往會(huì)遇到很大的問(wèn)題,需要進(jìn)一步研究,目前一般的學(xué)校管理系統(tǒng)都包含了學(xué)生信息管理的功能。本系統(tǒng)不包含教師排課管理和教師管理的詳細(xì)業(yè)務(wù),只提供學(xué)生相關(guān)信息信息的查詢。2.2 功能需求根據(jù)上述的信息管理系統(tǒng)的業(yè)務(wù)流程、要求以及所要實(shí)現(xiàn)的
4、目標(biāo),我們可以擬出以下需求目標(biāo):(1)建立學(xué)生檔案的管理和維護(hù)。實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)化管理體制。(2)建立學(xué)生成績(jī)管理機(jī)制,在計(jì)算機(jī)的支持下快速的完成學(xué)生成績(jī)的查詢和修改。(3)建立課程設(shè)置管理,在計(jì)算機(jī)的支持下實(shí)現(xiàn)課程的添加、刪除、修改。(4)建立班級(jí)設(shè)置管理,在計(jì)算機(jī)的支持下實(shí)現(xiàn)班級(jí)的添加、刪除和修改。(5)實(shí)現(xiàn)系統(tǒng)的權(quán)限設(shè)置管理,保證系統(tǒng)安全性。根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下:(1)班級(jí)、課程的設(shè)置管理:學(xué)校的教務(wù)秘書(shū)可以根據(jù)本校具體情況在每學(xué)期開(kāi)始時(shí)設(shè)置所需班級(jí)數(shù)量和人數(shù)。并設(shè)置本學(xué)期的課程。(2)權(quán)限管理:為了很好的保證系統(tǒng)的安全性,學(xué)校相關(guān)負(fù)責(zé)人可以設(shè)置不同類型的人員的權(quán)限
5、。(3)學(xué)生檔案管理:學(xué)生檔案的數(shù)量十分龐大,教務(wù)管理人員進(jìn)行新生入學(xué)的檔案錄入及更改。其中包括學(xué)生個(gè)人信息的修改。(4)學(xué)生成績(jī)管理:教務(wù)管理人員可以查詢和修改學(xué)生的歷年考試成績(jī),掌握學(xué)生學(xué)習(xí)情況,作為評(píng)定學(xué)生素質(zhì)的數(shù)據(jù)依據(jù)。2.3 性能需求系統(tǒng)的運(yùn)行對(duì)于運(yùn)行環(huán)境的要求是;1硬件環(huán)境目前, 我們所開(kāi)發(fā)的系統(tǒng)主要是應(yīng)用在中小規(guī)模的學(xué)校內(nèi)部,因此, 一般配置的計(jì)算機(jī)硬件就可以滿足系統(tǒng)需求??紤]到學(xué)校規(guī)模的擴(kuò)大和硬件價(jià)格的降低,為本系統(tǒng)配置在較優(yōu)秀的服務(wù)器硬件,可以充分發(fā)揮本系統(tǒng)性能。處理器:intel pentium 4 3.06 gx 或更高內(nèi)存:256m(推薦)硬盤(pán)空間: 40gb 顯卡:s
6、vga 顯示適配器2軟件環(huán)境操作系統(tǒng): windows 2000/xp 開(kāi)發(fā)軟件: microsoft visual studio .net 2003 數(shù)據(jù)庫(kù): microsoft sql server 2000 3 總體設(shè)計(jì)3.1 設(shè)計(jì)思想與處理流程本系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)行分析和設(shè)計(jì),在 sql server 2000 數(shù)據(jù)庫(kù)上實(shí)現(xiàn)數(shù)據(jù)操作。使用純面向?qū)ο蟮腸語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,使用windows2000 作為開(kāi)發(fā)平臺(tái),能夠很好的實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā)及測(cè)試。系統(tǒng)的基本流程是:用戶登陸主界面 選擇各項(xiàng)子系統(tǒng)。3.2 系統(tǒng)層次模塊圖“ 學(xué)生信息管理系統(tǒng)” 主要分為登錄、新生信息錄入、學(xué)生信息查詢、更新
7、學(xué)生信息、學(xué)生成績(jī)錄入、學(xué)生成績(jī)查詢、權(quán)限管理、密碼管理、班級(jí)管理、課程管理等10 個(gè)模塊。系統(tǒng)主模塊功能樹(shù)如圖2-1 所示:圖 2-1 “ 學(xué)生信息管理系統(tǒng)” 系統(tǒng)主模塊功能樹(shù)3.3 模塊設(shè)計(jì)1登錄模塊:輸入用戶名稱和密碼,如果用戶名、密碼正確,進(jìn)入主控制平臺(tái);否則給出錯(cuò)誤信息提示。2系統(tǒng)維護(hù)模塊:權(quán)限管理子模塊:系統(tǒng)管理員進(jìn)行用戶權(quán)限設(shè)置和初始密碼的設(shè)置。密碼修改子模塊:登陸系統(tǒng)用戶可以隨時(shí)修改自己的密碼,保證密碼的有效性和保密性。班級(jí)管理子模塊: 在新學(xué)期開(kāi)始或每學(xué)期中間需要開(kāi)設(shè)新的課程時(shí)可以在本模塊進(jìn)行班級(jí)的設(shè)置和維護(hù)。課程設(shè)置子模塊:在每學(xué)期開(kāi)始需要進(jìn)行本學(xué)期需要開(kāi)設(shè)課程的設(shè)置。在某
8、一課程發(fā)生變動(dòng)時(shí)可以進(jìn)行課程的維護(hù),包括修改課程的名稱、學(xué)分等, 也可以刪除某一課程。3學(xué)生信息管理模塊:新生信息錄入子模塊:在每學(xué)年開(kāi)始或中間可以進(jìn)行學(xué)生信息的錄入,包括學(xué)生的基本信息等。學(xué)生信息查詢子模塊:方便教務(wù)管理人員快速的查找某一學(xué)生。分為按照學(xué)生的姓名進(jìn)行查找和按照學(xué)生的所在班級(jí)名進(jìn)行查找。利于管理人員隨時(shí)掌握學(xué)生信息。更新學(xué)生信息子模塊:教務(wù)管理人員可以隨時(shí)更改學(xué)生的某些信息,包括學(xué)生姓名、身份證號(hào)、班級(jí)等信息的更改。4學(xué)生成績(jī)管理模塊:學(xué)生成績(jī)錄入子模塊:按照學(xué)生考試的時(shí)間和課程錄入學(xué)生的考試成績(jī)。學(xué)生成績(jī)查詢子模塊:方便教務(wù)管理人員快速的查找某一學(xué)生的成績(jī)。分為按照學(xué)生的姓名
9、進(jìn)行查找和按照學(xué)生的所在班級(jí)名進(jìn)行查找。利于管理人員隨時(shí)掌握學(xué)生考試信息。5幫助信息模塊:顯示系統(tǒng)的開(kāi)發(fā)版本和系統(tǒng)說(shuō)明信息。學(xué)生信息管理系統(tǒng)更新學(xué)生信息學(xué)生成績(jī)錄入學(xué)生成績(jī)查詢登錄密碼管理權(quán)限管理班級(jí)管理課程管理新生信息錄入學(xué)生信息查詢4 數(shù)據(jù)庫(kù)設(shè)計(jì)1sql server2000 數(shù)據(jù)庫(kù)建立過(guò)程首先把 sql server 2000 的“ 服務(wù)管理器 ” 打開(kāi),鼠標(biāo)左鍵單擊“ 開(kāi)始 /繼續(xù) ” 按鈕,然后在“ 開(kāi)始 ”“程序 ” 內(nèi)選擇 “ microsoft sql server” “企業(yè)管理器 ” 。 展開(kāi)左邊的程序樹(shù), 如圖 2-2所示。圖 2-2 打開(kāi)企業(yè)管理器在“ 數(shù)據(jù)庫(kù) ” 文件夾
10、圖標(biāo)上單擊鼠標(biāo)右鍵,選擇“ 新建數(shù)據(jù)庫(kù) ” ,彈出新建數(shù)據(jù)庫(kù)窗體,如圖 2-3 所示。圖 2-3 新建數(shù)據(jù)庫(kù)窗體在“ 名稱 ” 文本框內(nèi),輸入新建數(shù)據(jù)庫(kù)的名稱,在此輸入“stumagsys ” ,新建學(xué)生信息管理數(shù)據(jù)庫(kù)。其他選項(xiàng)默認(rèn)即可。然后,開(kāi)始建立本系統(tǒng)需要的數(shù)據(jù)庫(kù)表,方法如下:首先,在新建的數(shù)據(jù)庫(kù)上單擊鼠標(biāo)右鍵,選擇“ 新建 ”“表” ,如圖 2-4 所示。圖 2-4 新建表然后,在彈出的窗體內(nèi)輸入表字段和類型以及長(zhǎng)度和是否允許空等信息,如圖 2-5 所示。圖 2-5 新建表窗體輸入完表字段后,為表的字段添加主鍵、約束和關(guān)系等, 方法是在添加約束或關(guān)系的字段上單擊鼠標(biāo)右鍵,選擇“ 設(shè)置主
11、鍵 ” 或“ 關(guān)系 ” 等。如圖2-6 所示。圖 2-6 創(chuàng)建主鍵保存該表,命名為student。接下來(lái)在建立本章需要的其他表,在此不再詳述了。接下來(lái)就是如何向已經(jīng)建立好的數(shù)據(jù)表內(nèi)輸入數(shù)據(jù)了,方法如下, 首先在建立好的表上單擊鼠標(biāo)右鍵,選擇“ 打開(kāi)表 ”“返回所有行 ” ,如圖 2-7 所示。圖 2-7 打開(kāi)表然后在彈出的窗體內(nèi)輸入數(shù)據(jù),輸入結(jié)束后, 鼠標(biāo)左鍵單擊工具欄上的運(yùn)行圖標(biāo),保存數(shù)據(jù),如圖2-8 所示。圖 2-8 為表添加數(shù)據(jù)窗體2表結(jié)構(gòu)實(shí)現(xiàn)根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于系統(tǒng)用戶信息數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1) 、名稱:學(xué)生信息表表名稱標(biāo)識(shí):studen
12、t表數(shù)據(jù)來(lái)源:新生信息錄入模塊進(jìn)行錄入。表 2-1 學(xué)生信息表(student)字段名字段類型長(zhǎng)度主 /外鍵字段值約束對(duì)應(yīng)中文名student_id int 4 p not null 學(xué)號(hào)student_name nvarchar 10 not null 姓名sex char 2 性別birth smalldatatime 4 出生年月nation char 8 民族class_id int 4 not null 班級(jí)號(hào)entrance_date smalldatetime not null 入學(xué)時(shí)間home nvarchar 40 家庭地址politic char 10 政治面貌id nva
13、rchar 18 身份證號(hào)job nvarchar 20 職位specialty nvarchar 20 所學(xué)專業(yè)(2) 、名稱:學(xué)生成績(jī)表表名稱標(biāo)識(shí):student_course表數(shù)據(jù)來(lái)源:學(xué)生成績(jī)錄入模塊進(jìn)行錄入。表 2-2 學(xué)生成績(jī)表(student_course)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名course_id int 4 p not null 課程號(hào)student_id int 4 p not null 學(xué)號(hào)grade float 8 not null 成績(jī)sc_semester smallint 2 not null 學(xué)期school_year smallint2
14、not null 學(xué)年(3) 、名稱:班級(jí)表表名稱標(biāo)識(shí):class表數(shù)據(jù)來(lái)源:班級(jí)管理模塊進(jìn)行錄入表 2-3 班級(jí)表(class)字段名字段類型長(zhǎng)度主/ 外鍵字段值約束對(duì)應(yīng)中文名class_id int 4 p not null 班級(jí)號(hào)grade char 10 年級(jí)class_name nvarchar 40 not null 班級(jí)名稱sumstu int 4 班級(jí)人數(shù)maxnum int 4 最大人數(shù)(4) 、名稱:課程表表名稱標(biāo)識(shí):course表數(shù)據(jù)來(lái)源:課程管理模塊進(jìn)行錄入表 2-4 課程表(course)字段名字段類型長(zhǎng)度主 / 外鍵字段值約束對(duì)應(yīng)中文名course_id int 4
15、 p not null 課程號(hào)course_name credit 20 not null 課程名credit smallint 2 學(xué)分(5) 、名稱:用戶表表名稱標(biāo)識(shí):syuser表數(shù)據(jù)來(lái)源:權(quán)限管理模塊進(jìn)行錄入表 2-5 用戶表(syuser)字段名字段類型長(zhǎng)度主/ 外鍵字段值約束對(duì)應(yīng)中文名user_id char 10 p not null 用 戶 編號(hào)user_name 10 not null 用戶名user_role 10 用 戶 角色password 8 密碼5 詳細(xì)設(shè)計(jì)本系統(tǒng)主要實(shí)現(xiàn)學(xué)生信息的瀏覽、查詢、編輯、 添加和刪除,同時(shí)對(duì)班級(jí)和課程進(jìn)行管理,增加權(quán)限的管理。根據(jù)已有的需
16、求分析和總體設(shè)計(jì),我們?cè)诖嘶A(chǔ)上來(lái)進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),為此,我們建立了一個(gè)c.net 項(xiàng)目。在 “ 開(kāi)始 ” 菜單中找到 “mircosoft visual studio.net 2003”, 啟動(dòng)應(yīng)用程序, 鼠標(biāo)單擊 “ 文件 ” “新建 ” “項(xiàng)目 ” , 單擊 “ visual c# 項(xiàng)目 ” ,建立一個(gè) “windows 應(yīng)用程序 ” ,命名為 “studentmanagementsystem ”,位置默認(rèn)。如圖2-9所示。圖 2-9 新建 c#項(xiàng)目窗體然后我們把這個(gè)項(xiàng)目生成的默認(rèn)窗體作為本系統(tǒng)的主窗體,我們?cè)傧蜻@個(gè)項(xiàng)目中添加一個(gè)窗體,鼠標(biāo)單擊“ 項(xiàng)目 ”“添加 windows
17、窗體 ” ,輸入窗體名稱為“l(fā)ogin ”把新添加的窗體作為登陸窗體, 調(diào)整窗體大小到合適值。修改該窗體的name屬性為 “l(fā)ogin ”,text 屬性為 “ 用戶登陸 ” ,startposition 屬性為 “centerscreen ”,其他屬性默認(rèn)。我們接下來(lái)的所有窗體文件都是使用這種方法在這個(gè)項(xiàng)目中添加。5.1 登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)1用戶身份驗(yàn)證ipo 圖輸入:用戶名和密碼。處理:(1) 用戶登錄窗體啟動(dòng)。(2) 輸入用戶名和密碼。(3) 從用戶信息表中檢查是否有相應(yīng)的用戶名和密碼。(4) 如果用戶名或密碼為空或者錯(cuò)誤,進(jìn)行提示。(5) 如果輸入的用戶名和密碼正確,則允許該用戶進(jìn)入
18、系統(tǒng)。(6) 進(jìn)入主控制平臺(tái)。輸出:主控制平臺(tái)。2用戶登錄模塊的窗體設(shè)計(jì),如圖2-10 所示:圖 2-10 用戶登錄模塊的窗體效果3用戶登錄模塊的主要代碼using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using system.data; using system.data.sqlclient; namespace studentmanagementsystem public class login : s
19、ystem.windows.forms.form private system.windows.forms.label label1; private system.windows.forms.label label2; private system.windows.forms.button login_butt; private system.windows.forms.button logout_butt; private system.windows.forms.textbox user_name; private system.windows.forms.textbox passwor
20、ds; public static string username=;/ 保存用戶登陸名,以便以后使用。public static bool loginornot;/ 判斷用戶登陸成功與否。private string strconn;/ 查詢更新數(shù)據(jù)庫(kù)字符串。private string connstr=workstation id=localhost;integrated security=sspi;database=stumagsys;/連接數(shù)據(jù)庫(kù)字符串。private sqldataadapter sqlda;/ 查詢數(shù)據(jù)庫(kù)時(shí)使用的適配器。private dataset dset =n
21、ew dataset();/保存查詢結(jié)果的數(shù)據(jù)集。private sqlconnection myconn;/ 數(shù)據(jù)庫(kù)連接。private datatable mytable;/ 查詢返回的數(shù)據(jù)表。private datarow userrows;/ 表中的行。private system.windows.forms.groupbox groupbox1; private system.windows.forms.groupbox groupbox2; private system.componentmodel.container components = null; /*此處省略程序自動(dòng)生成
22、的代碼*/ private void login_butt_click(object sender, system.eventargs e) try strconn=select * from syuser where use_name=+this.user_name.text.tostring().trim()+;/根據(jù)用戶輸入的用戶名和密碼初始化查詢更新數(shù)據(jù)庫(kù)字符串myconn=new sqlconnection(connstr); sqlda=new sqldataadapter(strconn,myconn); dset.clear(); sqlda.fill(dset,syuser)
23、; mytable=dset.tables0;/ 查詢的結(jié)果在tables0中。for(int j=0;j0) messagebox.show( 錄入成功 ); catch(exception ex) messagebox.show(必須選擇一個(gè)角色!,錯(cuò)誤 ); 2密碼修改模塊的設(shè)計(jì)與實(shí)現(xiàn)密碼修改模塊負(fù)責(zé)登陸用戶隨時(shí)修改密碼,保證密碼的安全性。(1)密碼修改模塊實(shí)現(xiàn)的功能密碼修改模塊主要實(shí)現(xiàn)修改登陸用戶的密碼。(2)密碼修改模塊實(shí)現(xiàn)的效果密碼修改模塊的窗體設(shè)計(jì)效果如圖2-13 所示。圖 2-13 密碼修改模塊的窗體效果(3)密碼修改模塊的ipo 圖功能:從登陸窗體中取得登陸成功的用戶名,在數(shù)
24、據(jù)庫(kù)的syuser 表內(nèi)查找該用戶,并據(jù)此把輸入的新密碼寫(xiě)入到數(shù)據(jù)庫(kù)內(nèi)的syuser表中。輸入:新密碼和確認(rèn)密碼處理:1)密碼修改窗體啟動(dòng)。2)首先從登陸對(duì)話框login 內(nèi)取得登陸系統(tǒng)的登陸用戶的登陸用戶名。2)根據(jù)已經(jīng)取得的登陸用戶名在數(shù)據(jù)庫(kù)stumagsys 的 syuser表內(nèi)查找該用戶,然后比較用戶輸入的新密碼和確認(rèn)密碼,如果比較結(jié)果相同,則把新密碼寫(xiě)入到相應(yīng)記錄內(nèi),如果兩次輸入不一致,則提示錯(cuò)誤信息。3)把用戶的新密碼記錄到數(shù)據(jù)庫(kù)內(nèi)。輸出:對(duì)用戶表進(jìn)行記錄修改(4)密碼修改模塊的主要代碼using system; using system.drawing; using system
25、.collections; using system.componentmodel; using system.windows.forms; using system.data.sqlclient; using system.data; namespace studentmanagementsystem public class chgpsw : system.windows.forms.form private system.windows.forms.button chgpswcanl; private system.windows.forms.button chgpswok; priva
26、te system.windows.forms.textbox confpsw; private system.windows.forms.textbox newpsw; private string pswstrcon; private sqlconnection pswconn; private string pswstrcomd; private sqlcommand pswcomd; /*此處省略程序自動(dòng)生成的代碼*/ private void chgpswcanl_click(object sender, system.eventargs e) if(messagebox.show(
27、 您確認(rèn)要退出?,確認(rèn),messageboxbuttons.yesno)=dialogresult.yes) this.close(); private void chgpswok_click(object sender, system.eventargs e) if(newpsw.text.tostring().trim()=confpsw.text.tostring().trim() pswstrcon=workstation id=localhost;integrated security=sspi;database=stumagsys; pswstrcomd=update syuser
28、 set password=+newpsw.text.tostring().trim()+ where use_name=+login.username+; pswconn=new sqlconnection(pswstrcon); pswconn.open(); pswcomd=new sqlcommand(pswstrcomd,pswconn); int succnum=pswcomd.executenonquery(); if(succnum0) messagebox.show( 密碼修改成功 ); else messagebox.show(密碼不一致,請(qǐng)重新輸入,確認(rèn) ,message
29、boxbuttons.ok); newpsw.text=; confpsw.text=; 3班級(jí)管理模塊的設(shè)計(jì)與實(shí)現(xiàn)班級(jí)管理模塊負(fù)責(zé)登陸用戶錄入班級(jí)信息。(1)班級(jí)管理模塊實(shí)現(xiàn)的功能班級(jí)管理模塊主要實(shí)現(xiàn)錄入班級(jí)信息。(2)班級(jí)管理模塊實(shí)現(xiàn)的效果班級(jí)管理模塊的窗體設(shè)計(jì)效果如圖2-14 所示。圖 2-14 班級(jí)管理模塊的窗體效果(3)班級(jí)管理模塊的ipo 圖功能: 用戶輸入要添加的班級(jí)信息,包括班級(jí)名稱、所在年級(jí)和最大人數(shù),錄入信息到數(shù)據(jù)庫(kù)內(nèi)的class 表中。輸入:班級(jí)名稱、所在年級(jí)和最大人數(shù)處理:1)班級(jí)管理窗體啟動(dòng)。2)把用戶輸入要添加的班級(jí)信息,包括班級(jí)名稱、所在年級(jí)和最大人數(shù)信息錄入到數(shù)
30、據(jù)庫(kù) stumagsys 內(nèi)的 class表中,如果成功則在class表內(nèi)添加一條記錄, 給出成功信息。否則給出失敗的提示信息。輸出:對(duì)班級(jí)表進(jìn)行記錄修改(4)班級(jí)管理模塊的主要代碼using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using system.data; using system.data.sqlclient; namespace studentmanagementsystem public c
31、lass newclass : system.windows.forms.form private system.windows.forms.textbox grade; private system.windows.forms.textbox classname; private system.windows.forms.textbox maxnum; private system.windows.forms.button newclasscanl; private system.windows.forms.button newclassok; private string newclass
32、strconn; private sqlconnection newclassconn; private sqlcommand newclasscomd; /*此處省略程序自動(dòng)生成的代碼*/ private void newclassok_click(object sender, system.eventargs e) try string sqlstr=insert into class(class_name,grade,maxnum)values+( +this.classname.text.tostring().trim()+,+this.grade.text.tostring().tr
33、im()+,+this.maxnum.text.tostring().trim()+); newclassstrconn=workstation id=localhost;integrated security=sspi;database=stumagsys; newclassconn=new sqlconnection(newclassstrconn); newclassconn.open(); newclasscomd=new sqlcommand(sqlstr,newclassconn); int succnum=newclasscomd.executenonquery(); if(su
34、ccnum0) messagebox.show( 錄入成功 ); catch(exception ex) messagebox.show(ex.tostring(), 錯(cuò)誤 ); private void newclasscanl_click(object sender, system.eventargs e) if(messagebox.show( 您確認(rèn)要退出?,確認(rèn),messageboxbuttons.yesno)=dialogresult.yes) this.close(); 4課程管理模塊的設(shè)計(jì)與實(shí)現(xiàn)課程管理模塊負(fù)責(zé)登陸用戶隨時(shí)課程信息,包括錄入新開(kāi)設(shè)的課程;修改已有課程的名稱、學(xué)分
35、;刪除不再開(kāi)設(shè)的課程等。(1)課程管理模塊實(shí)現(xiàn)的功能課程管理模塊主要實(shí)現(xiàn)課程信息的維護(hù)。(2)課程管理模塊實(shí)現(xiàn)的效果課程管理模塊的窗體設(shè)計(jì)效果如圖2-15 所示。圖 2-15 課程管理模塊的窗體效果(3)課程管理模塊的ipo 圖1).增加新的課程功能:在課程信息表中增加新的課程,并把結(jié)果寫(xiě)入到數(shù)據(jù)庫(kù)stumagsys 內(nèi)的course表中。輸入:新課程的名稱和學(xué)分信息處理:在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表內(nèi)檢索課程信息,顯示到窗體的datagrid 控件addcourda 中。取得用戶輸入的新課程的名稱和學(xué)分信息。在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表內(nèi)檢索該課程
36、,如果存在該課程,則提示錯(cuò)誤信息。如果不存在該課程信息,則把用戶添加的新課程信息記錄到數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表中。輸出:對(duì)課程表course進(jìn)行記錄修改2).刪除課程功能:在課程信息表中刪除已有課程,并把結(jié)果寫(xiě)入到數(shù)據(jù)庫(kù)內(nèi)的course表中。輸入:選中一條課程記錄處理:在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表內(nèi)檢索課程信息,顯示到窗體的datagrid 控件addcourda 中。在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表內(nèi)檢索該課程,如果不存在該課程,則提示錯(cuò)誤信息。如果存在該課程信息,則把該課程信息記錄從數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course
37、 表中刪除。把數(shù)據(jù)表的改動(dòng)記錄到數(shù)據(jù)庫(kù)內(nèi)。輸出:對(duì)課程表進(jìn)行記錄修改2).修改課程功能:在課程信息表中修改課程信息,包括課程名稱和學(xué)分,并把結(jié)果寫(xiě)入到數(shù)據(jù)庫(kù)內(nèi)的 course表中。輸入:選中一條課程記錄,輸入修改信息處理:在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 course 表內(nèi)檢索課程信息,顯示到窗體的datagrid 控件addcourda 中。在 datagrid 控件 addcourda 中錄入修改的課程信息。把對(duì)數(shù)據(jù)表course的改動(dòng)記錄到數(shù)據(jù)庫(kù)內(nèi)。輸出:對(duì)課程表進(jìn)行記錄修改(4)課程管理模塊的主要代碼using system; using system.drawing; using s
38、ystem.collections; using system.componentmodel; using system.windows.forms; using system.data; using system.data.sqlclient; namespace studentmanagementsystem public class addcourse : system.windows.forms.form private system.windows.forms.datagrid courlist; private system.windows.forms.button addcour
39、; private system.windows.forms.button chgcour; private system.windows.forms.button delcour; private system.windows.forms.button exitcour; private system.componentmodel.container components = null; private string addcourconnstr=workstation id=localhost;integrated security=sspi;database=stumagsys; pri
40、vate sqlconnection addcourconn; private string addcoursql; private sqlcommandbuilder addcourcomm; private sqldataadapter addcourda; private dataset addcourseset=new dataset(); public addcourse() initializecomponent(); this.addcourse_load(); /*此處省略程序自動(dòng)生成的代碼*/ private void addcourse_load() addcoursql=
41、select course_name as 課程名 ,credit as 學(xué)分 from course; this.addcourconn=new sqlconnection(this.addcourconnstr); this.addcourda=new sqldataadapter(this.addcoursql,this.addcourconn); addcourseset.clear(); this.addcourda.fill(addcourseset,course); courlist.datasource=addcourseset.tables0; private void ch
42、gcour_click(object sender, system.eventargs e) try int row=this.courlist.currentcell.rownumber; this.courlist.currentcell=new datagridcell(row+1,0); if(addcourseset.haschanges() this.addcourconn=new sqlconnection(this.addcourconnstr); this.addcourda=new sqldataadapter(this.addcoursql,this.addcourcon
43、n); addcourcomm=new sqlcommandbuilder(addcourda); this.addcourda.update(this.addcourseset.getchanges(),course); messagebox.show(保存修改成功 !, 信息 ); catch(exception ee) messagebox.show(ee.tostring(), 信息 ); private void exitcour_click(object sender, system.eventargs e) if(messagebox.show( 您確認(rèn)要退出本系統(tǒng)?,確認(rèn),me
44、ssageboxbuttons.yesnocancel)=dialogresult.yes) this.close(); private void delcour_click(object sender, system.eventargs e) int rownumber=this.courlist.currentcell.rownumber; try this.addcourseset.tables0.rowsrownumber.delete(); this.addcourconn=new sqlconnection(this.addcourconnstr); addcourda=new s
45、qldataadapter(,addcourconn); addcourcomm=new sqlcommandbuilder(addcourda); addcourda.update(this.addcourseset.getchanges(),course); messagebox.show(刪除成功 !,信息 ); catch private void addcour_click(object sender, system.eventargs e) int row=this.courlist.visiblerowcount; this.courlist.currentcell=new da
46、tagridcell(row+1,0); 5.4 新生信息錄入模塊的設(shè)計(jì)與實(shí)現(xiàn)新生信息錄入模塊負(fù)責(zé)登陸用戶錄入學(xué)生信息,包括必須輸入的學(xué)生姓名,所在班級(jí) ,入學(xué)日期等信息。1新生信息錄入模塊實(shí)現(xiàn)的功能新生信息錄入模塊主要實(shí)現(xiàn)錄入學(xué)生信息。2新生信息錄入模塊實(shí)現(xiàn)的效果新生信息錄入模塊的窗體設(shè)計(jì)效果如圖2-16 所示。圖 2-16 新生信息錄入模塊的窗體效果3窗體和控件特殊屬性的設(shè)置:控件控件屬性設(shè)置comboboxname birthdatetime comboboxname erdatetime combobox name class 4新生信息錄入模塊的ipo 圖功能: 用戶輸入要添加的學(xué)生
47、信息,包括必須輸入的學(xué)生姓名、所在班級(jí)、入學(xué)日期等信息,錄入信息到數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 student 表中。輸入:學(xué)生姓名、性別、年齡、出生日期、民族、籍貫、入學(xué)日期、班級(jí)、政治面貌、身份證號(hào)、職位和所學(xué)專業(yè)信息處理:(1)新生信息錄入窗體啟動(dòng)。(2)在數(shù)據(jù)庫(kù)stumagsys 的 class 表檢索班級(jí)信息,并顯示在窗體的class 控件的下拉菜單內(nèi)。(3)用戶輸入新學(xué)生信息,檢驗(yàn)輸入是否完整,并核對(duì)是否符合標(biāo)準(zhǔn),如果不符合則提示用戶錯(cuò)誤信息。(4)如果檢驗(yàn)通過(guò),在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 class 表內(nèi)根據(jù)用戶輸入的班級(jí)信息查找相應(yīng)的班級(jí)號(hào)class_id。以便于進(jìn)行s
48、tudent 表中的數(shù)據(jù)插入。(5)在數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 student 表中查找輸入的學(xué)生姓名和班級(jí),如果存在該信息,則表明輸入重復(fù),給出提示信息。(6)否則,把用戶輸入要添加的學(xué)生信息錄入到數(shù)據(jù)庫(kù)stumagsys 內(nèi)的 student 表中,給出成功的提示信息。輸出:對(duì)學(xué)生表student 進(jìn)行記錄修改5新生信息錄入模塊的主要代碼using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using
49、system.data; using system.data.sqlclient; namespace studentmanagementsystem public class newstu : system.windows.forms.form private system.windows.forms.textbox stu_name; private system.windows.forms.textbox stu_sex; private system.windows.forms.textbox stu_age; private system.windows.forms.textbox
50、stu_home; private system.windows.forms.textbox stu_nation; private system.windows.forms.textbox stu_specialty; private system.windows.forms.textbox stu_position; private system.windows.forms.textbox stu_idnum; private system.windows.forms.textbox stu_politic; private system.windows.forms.button exit
51、nstu; private system.windows.forms.button drawbackbutt; private system.windows.forms.button inputnewstu; private sqlconnection newstuconn; private sqlcommand newstucomd; private string newstustrconn=workstation id=localhost;integrated security=sspi;database=stumagsys; private string newstustrcomd; p
52、rivate sqldataadapter newstusqlda; private system.windows.forms.combobox class; private system.windows.forms.datetimepicker erdatetime; private system.windows.forms.datetimepicker birthdatetime; public newstu() initializecomponent(); this.newstu_load(); /*此處省略程序自動(dòng)生成的代碼*/ private void newstu_load() d
53、ataset newstudclassset=new dataset(); string newstustrconnsql=select class_name from class; this.newstuconn=new sqlconnection(this.newstustrconn); this.newstusqlda=new sqldataadapter(newstustrconnsql,this.newstuconn); newstudclassset.clear(); this.newstusqlda.fill(newstudclassset,class); for(int i=0
54、;i0) messagebox.show( 錄入成功 ); else messagebox.show(錄入信息重復(fù)。,確認(rèn) ); catch(exception ex) messagebox.show(該生已經(jīng)錄入或類型不匹配。,確認(rèn) ,messageboxbuttons.yesno); 5.5 學(xué)生信息查詢模塊的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生信息查詢模塊負(fù)責(zé)根據(jù)查詢條件查詢學(xué)生信息。1學(xué)生信息查詢模塊實(shí)現(xiàn)的功能學(xué)生信息查詢模塊主要實(shí)現(xiàn)查詢學(xué)生信息,并顯示學(xué)生信息。2學(xué)生信息查詢模塊實(shí)現(xiàn)的效果學(xué)生信息查詢模塊的窗體設(shè)計(jì)效果如圖2-17 所示。圖 2-17 學(xué)生信息查詢模塊的窗體效果3窗體和控件特殊屬性的設(shè)置:
55、控件控件屬性設(shè)置comboboxname classlist datagridname qrystudg 4學(xué)生信息查詢模塊的ipo 圖功能:用戶輸入要檢索的條件,可以按照學(xué)生姓名檢索,也可以按照學(xué)生所在班級(jí)檢索,顯示檢索結(jié)果。輸入:學(xué)生姓名或?qū)W生所在班級(jí)處理:(1)學(xué)生信息查詢窗體啟動(dòng)。(2)在數(shù)據(jù)庫(kù)stumagsys 的 class 表檢索班級(jí)信息,并顯示在窗體的classlist控件的下拉菜單內(nèi)。(3)如果用戶輸入學(xué)生姓名作為檢索條件,則在數(shù)據(jù)庫(kù)stumagsys 的 student 表內(nèi)檢索學(xué)生姓名為給定條件的學(xué)生信息,顯示檢索結(jié)果。(4)如果用戶輸入學(xué)生所在班級(jí)作為檢索條件,則在數(shù)據(jù)
56、庫(kù)stumagsys 的 student表內(nèi)檢索學(xué)生班級(jí)號(hào)為給定條件的學(xué)生信息,顯示檢索結(jié)果。輸出:顯示檢索結(jié)果輸出到窗體的qrystudg 控件內(nèi)。5學(xué)生信息查詢模塊的主要代碼using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using system.data; using system.data.sqlclient; namespace studentmanagementsystem public cla
57、ss querystu : system.windows.forms.form private system.windows.forms.textbox qrystuname; private system.windows.forms.button exitqrystu; private system.windows.forms.datagrid qrystudg; private system.windows.forms.button qrystun; private system.windows.forms.button querystuclass; private system.wind
58、ows.forms.combobox classlist; private string qrystustrconn; private string qrystuconnstr=workstation id=localhost;integrated security=sspi;database=stumagsys; private sqldataadapter qrystusqlda; private sqlconnection qrysconn; private system.componentmodel.container components = null; public queryst
59、u() initializecomponent(); this.querystu_load(); /*此處省略程序自動(dòng)生成的代碼*/ /檢索數(shù)據(jù)庫(kù)表class,并把檢索結(jié)果填充到班級(jí)列表private void querystu_load() dataset qrystudclassset=new dataset(); qrystustrconn=select class_name from class; this.qrysconn=new sqlconnection(this.qrystuconnstr); this.qrystusqlda=new sqldataadapter(this.q
60、rystustrconn,this.qrysconn); qrystudclassset.clear(); this.qrystusqlda.fill(qrystudclassset,class); for(int i=0;iqrystudclassset.tables0.rows.count;i+) classlist.items.add(qrystudclassset.tables0.rowsi0); classlist.selectedindex=0; /按照學(xué)生姓名檢索學(xué)生信息private void qrystun_click(object sender, system.eventa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)科技成果轉(zhuǎn)化合同范本8篇
- 2025版明光幼兒園食堂改造與綠色校園建設(shè)合同4篇
- 二零二五年度平房產(chǎn)權(quán)繼承與贈(zèng)與合同范本4篇
- 二零二五年度企業(yè)員工停薪留職員工培訓(xùn)補(bǔ)貼合同
- 產(chǎn)前檢查講解
- 二零二五年度員工勞動(dòng)合同轉(zhuǎn)移至新公司員工晉升服務(wù)合同2篇
- 二零二五年度體育場(chǎng)館租賃及賽事組織合同3篇
- 二零二五版美容院美容產(chǎn)品安全檢測(cè)與認(rèn)證合同3篇
- 二零二五年度影視特效制作合同標(biāo)準(zhǔn)范本
- 2025版奶牛養(yǎng)殖場(chǎng)安全生產(chǎn)與應(yīng)急預(yù)案合同3篇
- 垃圾處理廠工程施工組織設(shè)計(jì)
- 天皰瘡患者護(hù)理
- 機(jī)電一體化系統(tǒng)設(shè)計(jì)-第5章-特性分析
- 2025年高考物理復(fù)習(xí)壓軸題:電磁感應(yīng)綜合問(wèn)題(原卷版)
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹(shù)臨風(fēng)福滿門(mén)模板
- 《建筑制圖及陰影透視(第2版)》課件 4-直線的投影
- 2024-2030年中國(guó)IVD(體外診斷)測(cè)試行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 碎紙機(jī)設(shè)計(jì)說(shuō)明書(shū)
- 湖南省長(zhǎng)沙市青竹湖湘一外國(guó)語(yǔ)學(xué)校2021-2022學(xué)年八年級(jí)下學(xué)期期中語(yǔ)文試題
- 2024年股權(quán)代持協(xié)議經(jīng)典版(3篇)
- 四川省成都市青羊區(qū)石室聯(lián)中學(xué)2024年八年級(jí)下冊(cè)物理期末學(xué)業(yè)水平測(cè)試試題含解析
評(píng)論
0/150
提交評(píng)論