學(xué)生信息管理系統(tǒng)范文樣本_第1頁
學(xué)生信息管理系統(tǒng)范文樣本_第2頁
學(xué)生信息管理系統(tǒng)范文樣本_第3頁
學(xué)生信息管理系統(tǒng)范文樣本_第4頁
學(xué)生信息管理系統(tǒng)范文樣本_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)之處,請(qǐng)聯(lián)系改正或者刪除。學(xué)生信息管理系統(tǒng)1引言1.1項(xiàng)目背景隨著信息技術(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)。當(dāng)前,在學(xué)校里,隨著高校規(guī)模的不斷擴(kuò)大和招生人數(shù)的不斷增加,需要處理大量的學(xué)生數(shù)據(jù)信息。如何更好的組織學(xué)生信息,更加快捷的管理學(xué)生信息顯得尤為的重要。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生信息管理的效率,也是學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。我們?yōu)榇碎_發(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ì)并開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),提供一個(gè)信息更新快捷、管理方便、功能設(shè)置合理的學(xué)生信息管理解決方案。針對(duì)學(xué)校大量的學(xué)生信息,就學(xué)生管理的幾個(gè)方面,提供一個(gè)互動(dòng)式的學(xué)生管理平臺(tái)。系統(tǒng)目標(biāo)如下:經(jīng)過學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn),使學(xué)校的學(xué)生信息管理更加科學(xué)化。提供靈活、方便的操作。節(jié)約學(xué)生信息管理的成本,提高學(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ì)遇到很大的問題,需要進(jìn)一步研究,當(dāng)前一般的學(xué)校管理系統(tǒng)都包含了學(xué)生信息管理的功能。本系統(tǒng)不包含教師排課管理和教師管理的詳細(xì)業(yè)務(wù),只提供學(xué)生相關(guān)信息信息的查詢。2.2功能需求 根據(jù)上述的信息管理系統(tǒng)的業(yè)務(wù)流程、要求以及所要實(shí)現(xiàn)的目標(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ù)秘書能夠根據(jù)本校具體情況在每學(xué)期開始時(shí)設(shè)置所需班級(jí)數(shù)量和人數(shù)。并設(shè)置本學(xué)期的課程。(2)權(quán)限管理:為了很好的保證系統(tǒng)的安全性,學(xué)校相關(guān)負(fù)責(zé)人能夠設(shè)置不同類型的人員的權(quán)限。(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)境 當(dāng)前,我們所開發(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)性能。處理器:IntelPentium43.06GX或更高內(nèi)存:256M(推薦)硬盤空間:40GB顯卡:SVGA顯示適配器 2.軟件環(huán)境操作系統(tǒng):Windows/XP開發(fā)軟件:MicrosoftVisualStudio.NET數(shù)據(jù)庫:MicrosoftSQLServer3總體設(shè)計(jì)3.1設(shè)計(jì)思想與處理流程 本系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)行分析和設(shè)計(jì),在SQLServer數(shù)據(jù)庫上實(shí)現(xiàn)數(shù)據(jù)操作。使用純面向?qū)ο蟮腃#語言作為開發(fā)語言,使用Windows作為開發(fā)平臺(tái),能夠很好的實(shí)現(xiàn)系統(tǒng)的開發(fā)及測(cè)試。 系統(tǒng)的基本流程是:用戶登陸→主界面→選擇各項(xiàng)子系統(tǒng)。3.2系統(tǒng)層次模塊圖 ”學(xué)生信息管理系統(tǒng)”主要分為登錄、新生信息錄入、學(xué)生信息查詢、更新學(xué)生信息、學(xué)生成績(jī)錄入、學(xué)生成績(jī)查詢、權(quán)限管理、密碼管理、班級(jí)管理、課程管理等10個(gè)模塊。系統(tǒng)主模塊功能樹如圖2-1所示:學(xué)生信息管理系統(tǒng)更新學(xué)生信息學(xué)生成績(jī)錄入學(xué)生成績(jī)查詢登錄密碼管理權(quán)限管理班級(jí)管理課程管理新生信息錄入學(xué)生信息查詢學(xué)生信息管理系統(tǒng)更新學(xué)生信息學(xué)生成績(jī)錄入學(xué)生成績(jī)查詢登錄密碼管理權(quán)限管理班級(jí)管理課程管理新生信息錄入學(xué)生信息查詢圖2-1”學(xué)生信息管理系統(tǒng)”系統(tǒng)主模塊功能樹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é)期開始或每學(xué)期中間需要開設(shè)新的課程時(shí)能夠在本模塊進(jìn)行班級(jí)的設(shè)置和維護(hù)。課程設(shè)置子模塊:在每學(xué)期開始需要進(jìn)行本學(xué)期需要開設(shè)課程的設(shè)置。在某一課程發(fā)生變動(dòng)時(shí)能夠進(jìn)行課程的維護(hù),包括修改課程的名稱、學(xué)分等,也能夠刪除某一課程。3.學(xué)生信息管理模塊:新生信息錄入子模塊:在每年開始或中間能夠進(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é)生的姓名進(jìn)行查找和按照學(xué)生的所在班級(jí)名進(jìn)行查找。利于管理人員隨時(shí)掌握學(xué)生考試信息。5.幫助信息模塊:顯示系統(tǒng)的開發(fā)版本和系統(tǒng)說明信息。4數(shù)據(jù)庫設(shè)計(jì) 1.SQLServer數(shù)據(jù)庫建立過程首先把SQLServer的”服務(wù)管理器”打開,鼠標(biāo)左鍵單擊”開始/繼續(xù)”按鈕,然后在”開始”→”程序”內(nèi)選擇”MicrosoftSQLServer”→”企業(yè)管理器”。展開左邊的程序樹,如圖2-2所示。 圖2-2打開企業(yè)管理器在”數(shù)據(jù)庫”文件夾圖標(biāo)上單擊鼠標(biāo)右鍵,選擇”新建數(shù)據(jù)庫”,彈出新建數(shù)據(jù)庫窗體,如圖2-3所示。 圖2-3新建數(shù)據(jù)庫窗體在”名稱”文本框內(nèi),輸入新建數(shù)據(jù)庫的名稱,在此輸入”StuMagSys”,新建學(xué)生信息管理數(shù)據(jù)庫。其它選項(xiàng)默認(rèn)即可。然后,開始建立本系統(tǒng)需要的數(shù)據(jù)庫表,方法如下:首先,在新建的數(shù)據(jù)庫上單擊鼠標(biāo)右鍵,選擇”新建”→”表”,如圖2-4所示。圖2-4新建表然后,在彈出的窗體內(nèi)輸入表字段和類型以及長(zhǎng)度和是否允許空等信息,如圖2-5所示。圖2-5新建表窗體輸入完表字段后,為表的字段添加主鍵、約束和關(guān)系等,方法是在添加約束或關(guān)系的字段上單擊鼠標(biāo)右鍵,選擇”設(shè)置主鍵”或”關(guān)系”等。如圖2-6所示。圖2-6創(chuàng)立主鍵保存該表,命名為Student。接下來在建立本章需要的其它表,在此不再詳述了。接下來就是如何向已經(jīng)建立好的數(shù)據(jù)表內(nèi)輸入數(shù)據(jù)了,方法如下,首先在建立好的表上單擊鼠標(biāo)右鍵,選擇”打開表”→”返回所有行”,如圖2-7所示。圖2-7打開表然后在彈出的窗體內(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ù)庫,能夠列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1)、名稱:學(xué)生信息表表名稱標(biāo)識(shí):Student表數(shù)據(jù)來源:新生信息錄入模塊進(jìn)行錄入。表2-1學(xué)生信息表(Student)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名Student_idint4PNotnull學(xué)號(hào)Student_namenvarchar10Notnull姓名Sexchar2性別Birthsmalldatatime4出生年月Nationchar8民族Class_idint4Notnull班級(jí)號(hào)Entrance_datesmalldatetimeNotnull入學(xué)時(shí)間homenvarchar40家庭地址politicchar10政治面貌IDnvarchar18身份證號(hào)Jobnvarchar20職位specialtynvarchar20所學(xué)專業(yè)(2)、名稱:學(xué)生成績(jī)表表名稱標(biāo)識(shí):Student_course表數(shù)據(jù)來源:學(xué)生成績(jī)錄入模塊進(jìn)行錄入。表2-2學(xué)生成績(jī)表(Student_course)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名Course_idint4PNotnull課程號(hào)Student_idint4PNotnull學(xué)號(hào)Gradefloat8Notnull成績(jī)SC_semesterSmallint2Notnull學(xué)期School_yearSmallint2Notnull年(3)、名稱:班級(jí)表表名稱標(biāo)識(shí):class表數(shù)據(jù)來源:班級(jí)管理模塊進(jìn)行錄入表2-3班級(jí)表(class)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名Class_idInt4pNotnull班級(jí)號(hào)Gradechar10年級(jí)Class_namenvarchar40Notnull班級(jí)名稱SumStuInt4班級(jí)人數(shù)MaxNumint4最大人數(shù)(4)、名稱:課程表表名稱標(biāo)識(shí):course表數(shù)據(jù)來源:課程管理模塊進(jìn)行錄入表2-4課程表(course)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名Course_idInt4PNotnull課程號(hào)Course_nameCredit20Notnull課程名CreditSmallint2學(xué)分(5)、名稱:用戶表表名稱標(biāo)識(shí):Syuser表數(shù)據(jù)來源:權(quán)限管理模塊進(jìn)行錄入表2-5用戶表(Syuser)字段名字段類型長(zhǎng)度主/外鍵字段值約束對(duì)應(yīng)中文名User_idchar10PNotnull用戶編號(hào)User_name10Notnull用戶名User_role10用戶角色Password8密碼5詳細(xì)設(shè)計(jì)本系統(tǒng)主要實(shí)現(xiàn)學(xué)生信息的瀏覽、查詢、編輯、添加和刪除,同時(shí)對(duì)班級(jí)和課程進(jìn)行管理,增加權(quán)限的管理。根據(jù)已有的需求分析和總體設(shè)計(jì),我們?cè)诖嘶A(chǔ)上來進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),為此,我們建立了一個(gè)C#.NET項(xiàng)目。在”開始”菜單中找到”MircoSoftVisualStudio.Net”,啟動(dòng)應(yīng)用程序,鼠標(biāo)單擊”文件”→”新建”→”項(xiàng)目”,單擊”VisualC#項(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窗體”,輸入窗體名稱為”Login”把新添加的窗體作為登陸窗體,調(diào)整窗體大小到合適值。修改該窗體的name屬性為”Login”,text屬性為”用戶登陸”,StartPosition屬性為”CenterScreen”,其它屬性默認(rèn)。我們接下來的所有窗體文件都是使用這種方法在這個(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)入系統(tǒng)。(6)進(jìn)入主控制平臺(tái)。輸出:主控制平臺(tái)。2.用戶登錄模塊的窗體設(shè)計(jì),如圖2-10所示:圖2-10用戶登錄模塊的窗體效果3.用戶登錄模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassLogin:System.Windows.Forms.Form { privateSystem.Windows.Forms.Labellabel1; privateSystem.Windows.Forms.Labellabel2; privateSystem.Windows.Forms.Buttonlogin_butt; privateSystem.Windows.Forms.ButtonLogout_butt; privateSystem.Windows.Forms.TextBoxUser_name; privateSystem.Windows.Forms.TextBoxPasswords; publicstaticStringUsername="";//保存用戶登陸名,以便以后使用。 publicstaticboolloginOrnot;//判斷用戶登陸成功與否。 privatestringstrconn;//查詢更新數(shù)據(jù)庫字符串。 privatestringconnstr="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys";//連接數(shù)據(jù)庫字符串。 privateSqlDataAdaptersqlda;//查詢數(shù)據(jù)庫時(shí)使用的適配器。privateDataSetdset=newDataSet();//保存查詢結(jié)果的數(shù)據(jù)集。 privateSqlConnectionmyconn;//數(shù)據(jù)庫連接。 privateDataTablemytable;//查詢返回的數(shù)據(jù)表。 privateDataRowUserrows;//表中的行。 privateSystem.Windows.Forms.GroupBoxgroupBox1; privateSystem.Windows.Forms.GroupBoxgroupBox2; privateSystem.ComponentModel.Containercomponents=null; /*此處省略程序自動(dòng)生成的代碼*/ privatevoidlogin_butt_Click(objectsender,System.EventArgse) { try { strconn="select*fromsyuserwhereUse_name="+"'"+this.User_name.Text.ToString().Trim()+"'";//根據(jù)用戶輸入的用戶名和密碼初始化查詢更新數(shù)據(jù)庫字符串 myconn=newSqlConnection(connstr); sqlda=newSqlDataAdapter(strconn,myconn); dset.Clear(); sqlda.Fill(dset,"syuser"); mytable=dset.Tables[0];//查詢的結(jié)果在Tables[0]中。 for(intj=0;j<mytable.Rows.Count;j++) { Userrows=mytable.Rows[j]; if(Userrows[1].ToString().Trim()==this.User_name.Text.ToString().Trim()&&Userrows[3].ToString().Trim()==this.Passwords.Text.ToString().Trim()){ loginOrnot=true; Username=Userrows[1].ToString().Trim(); this.Close(); } else { MessageBox.Show("用戶名/密碼錯(cuò)誤!請(qǐng)重試!","確認(rèn)",MessageBoxButtons.OK); loginOrnot=false; this.User_name.Text=""; this.Passwords.Text=""; } } } catch(Exceptionex) { MessageBox.Show(ex.ToString(),"確認(rèn)",MessageBoxButtons.YesNoCancel); } return; } privatevoidLogout_butt_Click(objectsender,System.EventArgse) { loginOrnot=false; this.Close(); } }}5.2主操作頁面效果1.主控制平臺(tái)的窗體設(shè)計(jì),如圖2-11所示:圖2-11用戶登錄模塊的窗體效果2.窗體和控件特殊屬性的設(shè)置:控件控件名稱MainMenuStuMenuStatusBarMainstatusBar3.主控制平臺(tái)的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;namespaceStudentManagementsystem{ publicclassMainFrm:System.Windows.Forms.Form { privateSystem.Windows.Forms.MenuItemmenuItem1; privateSystem.Windows.Forms.MenuItemmenuItem2; privateSystem.Windows.Forms.MenuItemmenuItem7; privateSystem.Windows.Forms.StatusBarMainstatusBar; privateSystem.Windows.Forms.MainMenuStuMenu; privateSystem.Windows.Forms.MenuItemNewstu; privateSystem.Windows.Forms.MenuItemQueryStu; privateSystem.Windows.Forms.MenuItemInputGrade; privateSystem.Windows.Forms.MenuItemQueryStuGrade; privateSystem.Windows.Forms.MenuItemUpdateRole; privateSystem.Windows.Forms.MenuItemExitSys; privateSystem.Windows.Forms.MenuItemUpdateStu; privateSystem.Windows.Forms.MenuItemAddClass; privateSystem.Windows.Forms.MenuItemChgPsw; privateSystem.Windows.Forms.MenuItemmenuItem3; privateSystem.Windows.Forms.PictureBoxpictureBox1; privateSystem.Windows.Forms.MenuItemStu_JC; privateSystem.Windows.Forms.MenuItemmenuItem4; privateSystem.ComponentModel.Containercomponents=null; publicMainFrm() { InitializeComponent(); this.MainFrm_Load(); } /*此處省略程序自動(dòng)生成的代碼*/ staticvoidMain() { Loginlog=newLogin(); log.ShowDialog(); if(Login.loginOrnot==true)Application.Run(newMainFrm()); } //根據(jù)登陸的用戶名設(shè)置窗體狀態(tài)。 privatevoidMainFrm_Load() { this.MainstatusBar.Text="歡迎使用學(xué)生信息管理系統(tǒng):"+Login.Username; } //-----------顯示學(xué)生信息查詢窗體--------- privatevoidQueryStu_Click(objectsender,System.EventArgse) { QueryStuQryStu=newQueryStu(); QryStu.Show(); } //-----------顯示更新學(xué)生信息窗體--------- privatevoidUpdateStu_Click(objectsender,System.EventArgse) { UpdateStuupdstu=newUpdateStu(); updstu.Show(); } //-----------顯示學(xué)生成績(jī)錄入窗體--------- privatevoidInputGrade_Click(objectsender,System.EventArgse) { InputGradeinptgrade=newInputGrade(); inptgrade.Show(); } //-----------顯示學(xué)生成績(jī)查詢窗體--------- privatevoidQueryStuGrade_Click(objectsender,System.EventArgse) { QueryStuGradeqrystu=newQueryStuGrade(); qrystu.Show(); } //-----------顯示權(quán)限管理窗體--------- privatevoidUpdateRole_Click(objectsender,System.EventArgse) { UpdateRoleupdrole=newUpdateRole(); updrole.Show(); } //-----------顯示新生信息錄入窗體--------- privatevoidNewstu_Click(objectsender,System.EventArgse) { NewStunfrm=newNewStu(); nfrm.Show(); } //-----------退出主界面--------- privatevoidExitSys_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出本系統(tǒng)?","確認(rèn)",MessageBoxButtons.YesNoCancel)==DialogResult.Yes) this.Close(); } //-----------顯示密碼修改窗體--------- privatevoidChgPsw_Click(objectsender,System.EventArgse) { ChgPswChangePsw=newChgPsw(); ChangePsw.Show(); } //-----------顯示班級(jí)管理窗體--------- privatevoidAddClass_Click(objectsender,System.EventArgse) { NewClassNewC=newNewClass(); NewC.Show(); } //-----------顯示課程管理窗體--------- privatevoidAddcour_Click(objectsender,System.EventArgse) { AddCourseAdCour=newAddCourse(); AdCour.Show(); } //-----------顯示幫助窗體--------- privatevoidSysHlp_Click(objectsender,System.EventArgse) { SysHelphp=newSysHelp(); hp.Show(); } }}5.3系統(tǒng)維護(hù)模塊模塊的設(shè)計(jì)與實(shí)現(xiàn)1.權(quán)限管理模塊的設(shè)計(jì)與實(shí)現(xiàn)權(quán)限管理模塊負(fù)責(zé)整個(gè)系統(tǒng)的安全性,只能增加新的用戶而不能修改、刪除用戶,這樣保證了系統(tǒng)的惡意操作、誤刪除等情況出現(xiàn)。(1).權(quán)限管理模塊實(shí)現(xiàn)的功能權(quán)限管理模塊主要實(shí)現(xiàn)增加新的用戶和并設(shè)定該用戶權(quán)限和設(shè)置初始密碼。(2).權(quán)限管理模塊實(shí)現(xiàn)的效果權(quán)限設(shè)置模塊的窗體設(shè)計(jì)效果如圖2-12所示。圖2-12權(quán)限管理模塊的窗體效果 (3).權(quán)限管理模塊的IPO圖 功能:從對(duì)話框中取得新的用戶名和密碼以及相應(yīng)的職務(wù),寫入到數(shù)據(jù)庫內(nèi)的Syuser表中。 輸入:用戶名、初始密碼和職務(wù) 處理:權(quán)限管理窗體啟動(dòng)。在用戶名、密碼輸入對(duì)話框中取得用戶名和密碼,在數(shù)據(jù)庫StuMagSys內(nèi)的Syuser表內(nèi)查找該用戶名如果已存在該用戶名,則提示錯(cuò)誤信息,否則在Syuser表內(nèi)添加一條新的記錄 輸出:對(duì)用戶表Syuser進(jìn)行記錄添加 (4).權(quán)限管理模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassUpdateRole:System.Windows.Forms.Form { privateSystem.Windows.Forms.TextBoxUserName; privateSystem.Windows.Forms.TextBoxPsw; privateSystem.Windows.Forms.ButtonNewUserOk; privateSystem.Windows.Forms.ButtonNewUserCanl; privateSystem.Windows.Forms.ComboBoxRoleItem; privatestringNewRoleStrConn; privateSqlConnectionNewRoleConn; privateSqlCommandNewRoleComd; /*此處省略程序自動(dòng)生成的代碼*/ privatevoidNewUserCanl_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出?","確認(rèn)",MessageBoxButtons.YesNo)==DialogResult.Yes) this.Close(); } privatevoidNewUserOk_Click(objectsender,System.EventArgse) { try { stringSqlStr="insertintosyuser(Use_name,Password,Use_role)values"+"("+"'"+this.UserName.Text.ToString().Trim()+"'"+","+"'"+this.Psw.Text.ToString().Trim()+"'"+","+"'"+this.RoleItem.SelectedItem.ToString().Trim()+"'"+")"; NewRoleStrConn="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; NewRoleConn=newSqlConnection(NewRoleStrConn); NewRoleConn.Open(); NewRoleComd=newSqlCommand(SqlStr,NewRoleConn); intSuccnum=NewRoleComd.ExecuteNonQuery(); if(Succnum>0)MessageBox.Show("錄入成功"); } catch(ExceptionEx) { 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ù)據(jù)庫的Syuser表內(nèi)查找該用戶,并據(jù)此把輸入的新密碼寫入到數(shù)據(jù)庫內(nèi)的Syuser表中。 輸入:新密碼和確認(rèn)密碼 處理:1)密碼修改窗體啟動(dòng)。2)首先從登陸對(duì)話框Login內(nèi)取得登陸系統(tǒng)的登陸用戶的登陸用戶名。2)根據(jù)已經(jīng)取得的登陸用戶名在數(shù)據(jù)庫StuMagSys的Syuser表內(nèi)查找該用戶,然后比較用戶輸入的新密碼和確認(rèn)密碼,如果比較結(jié)果相同,則把新密碼寫入到相應(yīng)記錄內(nèi),如果兩次輸入不一致,則提示錯(cuò)誤信息。3)把用戶的新密碼記錄到數(shù)據(jù)庫內(nèi)。 輸出:對(duì)用戶表進(jìn)行記錄修改 (4).密碼修改模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;usingSystem.Data;namespaceStudentManagementsystem{ publicclassChgPsw:System.Windows.Forms.Form { privateSystem.Windows.Forms.ButtonChgPswCanl; privateSystem.Windows.Forms.ButtonChgPswOk; privateSystem.Windows.Forms.TextBoxConfPsw; privateSystem.Windows.Forms.TextBoxNewPsw; privatestringPswStrCon; privateSqlConnectionPswConn; privateStringPswStrComd; privateSqlCommandPswComd; /*此處省略程序自動(dòng)生成的代碼*/ privatevoidChgPswCanl_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出?","確認(rèn)",MessageBoxButtons.YesNo)==DialogResult.Yes) this.Close(); } privatevoidChgPswOk_Click(objectsender,System.EventArgse) { if(NewPsw.Text.ToString().Trim()==ConfPsw.Text.ToString().Trim()) { PswStrCon="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; PswStrComd="updateSyusersetPassword="+"'"+NewPsw.Text.ToString().Trim()+"'"+"whereUse_name="+"'"+Login.Username+"'"; PswConn=newSqlConnection(PswStrCon); PswConn.Open(); PswComd=newSqlCommand(PswStrComd,PswConn); intSuccnum=PswComd.ExecuteNonQuery(); if(Succnum>0)MessageBox.Show("密碼修改成功"); } else { MessageBox.Show("密碼不一致,請(qǐng)重新輸入","確認(rèn)",MessageBoxButtons.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ù)庫內(nèi)的class表中。 輸入:班級(jí)名稱、所在年級(jí)和最大人數(shù) 處理:1)班級(jí)管理窗體啟動(dòng)。2)把用戶輸入要添加的班級(jí)信息,包括班級(jí)名稱、所在年級(jí)和最大人數(shù)信息錄入到數(shù)據(jù)庫StuMagSys內(nèi)的class表中,如果成功則在class表內(nèi)添加一條記錄,給出成功信息。否則給出失敗的提示信息。 輸出:對(duì)班級(jí)表進(jìn)行記錄修改 (4)班級(jí)管理模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassNewClass:System.Windows.Forms.Form { privateSystem.Windows.Forms.TextBoxGrade; privateSystem.Windows.Forms.TextBoxClassName; privateSystem.Windows.Forms.TextBoxMaxNum; privateSystem.Windows.Forms.ButtonNewClassCanl; privateSystem.Windows.Forms.ButtonNewClassOk; privatestringNewClassStrConn; privateSqlConnectionNewClassConn; privateSqlCommandNewClassComd; /*此處省略程序自動(dòng)生成的代碼*/ privatevoidNewClassOk_Click(objectsender,System.EventArgse) { try { stringSqlStr="insertintoclass(Class_name,grade,MaxNum)values"+"("+"'"+this.ClassName.Text.ToString().Trim()+"'"+","+"'"+this.Grade.Text.ToString().Trim()+"'"+","+"'"+this.MaxNum.Text.ToString().Trim()+"'"+")"; NewClassStrConn="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; NewClassConn=newSqlConnection(NewClassStrConn); NewClassConn.Open(); NewClassComd=newSqlCommand(SqlStr,NewClassConn); intSuccnum=NewClassComd.ExecuteNonQuery(); if(Succnum>0)MessageBox.Show("錄入成功"); } catch(ExceptionEx) { MessageBox.Show(Ex.ToString(),"錯(cuò)誤"); } } privatevoidNewClassCanl_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出?","確認(rèn)",MessageBoxButtons.YesNo)==DialogResult.Yes) this.Close(); } }}4.課程管理模塊的設(shè)計(jì)與實(shí)現(xiàn)課程管理模塊負(fù)責(zé)登陸用戶隨時(shí)課程信息,包括錄入新開設(shè)的課程;修改已有課程的名稱、學(xué)分;刪除不再開設(shè)的課程等。(1)課程管理模塊實(shí)現(xiàn)的功能課程管理模塊主要實(shí)現(xiàn)課程信息的維護(hù)。(2)課程管理模塊實(shí)現(xiàn)的效果課程管理模塊的窗體設(shè)計(jì)效果如圖2-15所示。圖2-15課程管理模塊的窗體效果 (3)課程管理模塊的IPO圖 1).增加新的課程功能:在課程信息表中增加新的課程,并把結(jié)果寫入到數(shù)據(jù)庫StuMagSys內(nèi)的course表中。 輸入:新課程的名稱和學(xué)分信息 處理:在數(shù)據(jù)庫StuMagSys內(nèi)的course表內(nèi)檢索課程信息,顯示到窗體的DataGrid控件AddCourDA中。取得用戶輸入的新課程的名稱和學(xué)分信息。在數(shù)據(jù)庫StuMagSys內(nèi)的course表內(nèi)檢索該課程,如果存在該課程,則提示錯(cuò)誤信息。如果不存在該課程信息,則把用戶添加的新課程信息記錄到數(shù)據(jù)庫StuMagSys內(nèi)的course表中。 輸出:對(duì)課程表course進(jìn)行記錄修改 2).刪除課程功能:在課程信息表中刪除已有課程,并把結(jié)果寫入到數(shù)據(jù)庫內(nèi)的course表中。 輸入:選中一條課程記錄 處理:在數(shù)據(jù)庫StuMagSys內(nèi)的course表內(nèi)檢索課程信息,顯示到窗體的DataGrid控件AddCourDA中。在數(shù)據(jù)庫StuMagSys內(nèi)的course表內(nèi)檢索該課程,如果不存在該課程,則提示錯(cuò)誤信息。如果存在該課程信息,則把該課程信息記錄從數(shù)據(jù)庫StuMagSys內(nèi)的course表中刪除。把數(shù)據(jù)表的改動(dòng)記錄到數(shù)據(jù)庫內(nèi)。 輸出:對(duì)課程表進(jìn)行記錄修改2).修改課程功能:在課程信息表中修改課程信息,包括課程名稱和學(xué)分,并把結(jié)果寫入到數(shù)據(jù)庫內(nèi)的course表中。 輸入:選中一條課程記錄,輸入修改信息 處理:在數(shù)據(jù)庫StuMagSys內(nèi)的course表內(nèi)檢索課程信息,顯示到窗體的DataGrid控件AddCourDA中。在DataGrid控件AddCourDA中錄入修改的課程信息。把對(duì)數(shù)據(jù)表course的改動(dòng)記錄到數(shù)據(jù)庫內(nèi)。 輸出:對(duì)課程表進(jìn)行記錄修改 (4).課程管理模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassAddCourse:System.Windows.Forms.Form { privateSystem.Windows.Forms.DataGridCourList; privateSystem.Windows.Forms.ButtonAddCour; privateSystem.Windows.Forms.ButtonChgCour; privateSystem.Windows.Forms.ButtonDelCour; privateSystem.Windows.Forms.ButtonExitCour; privateSystem.ComponentModel.Containercomponents=null; privatestringAddCourConnStr="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; privateSqlConnectionAddCourConn; privatestringAddCourSql; privateSqlCommandBuilderAddCourComm; privateSqlDataAdapterAddCourDA; privateDataSetAddCourseset=newDataSet(); publicAddCourse() { InitializeComponent(); this.AddCourse_Load(); } /*此處省略程序自動(dòng)生成的代碼*/ privatevoidAddCourse_Load() { AddCourSql="selectCourse_nameas課程名,creditas學(xué)分fromcourse"; this.AddCourConn=newSqlConnection(this.AddCourConnStr); this.AddCourDA=newSqlDataAdapter(this.AddCourSql,this.AddCourConn); AddCourseset.Clear(); this.AddCourDA.Fill(AddCourseset,"Course"); CourList.DataSource=AddCourseset.Tables[0]; } privatevoidChgCour_Click(objectsender,System.EventArgse) { try { introw=this.CourList.CurrentCell.RowNumber; this.CourList.CurrentCell=newDataGridCell(row+1,0); if(AddCourseset.HasChanges()) { this.AddCourConn=newSqlConnection(this.AddCourConnStr); this.AddCourDA=newSqlDataAdapter(this.AddCourSql,this.AddCourConn); AddCourComm=newSqlCommandBuilder(AddCourDA); this.AddCourDA.Update(this.AddCourseset.GetChanges(),"Course"); MessageBox.Show("保存修改成功!","信息"); } } catch(ExceptionEe) { MessageBox.Show(Ee.ToString(),"信息"); } } privatevoidExitCour_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出本系統(tǒng)?","確認(rèn)",MessageBoxButtons.YesNoCancel)==DialogResult.Yes) this.Close(); } privatevoidDelCour_Click(objectsender,System.EventArgse) { introwNumber=this.CourList.CurrentCell.RowNumber; try { this.AddCourseset.Tables[0].Rows[rowNumber].Delete(); this.AddCourConn=newSqlConnection(this.AddCourConnStr); AddCourDA=newSqlDataAdapter("",AddCourConn); AddCourComm=newSqlCommandBuilder(AddCourDA); AddCourDA.Update(this.AddCourseset.GetChanges(),"Course"); MessageBox.Show("刪除成功!","信息"); } catch {} } privatevoidAddCour_Click(objectsender,System.EventArgse) { introw=this.CourList.VisibleRowCount; this.CourList.CurrentCell=newDataGridCell(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è)置ComboBoxNameBirthdateTimeComboBoxNameERdateTimeComboBoxNameClass 4.新生信息錄入模塊的IPO圖 功能:用戶輸入要添加的學(xué)生信息,包括必須輸入的學(xué)生姓名、所在班級(jí)、入學(xué)日期等信息,錄入信息到數(shù)據(jù)庫StuMagSys內(nèi)的student表中。 輸入:學(xué)生姓名、性別、年齡、出生日期、民族、籍貫、入學(xué)日期、班級(jí)、政治面貌、身份證號(hào)、職位和所學(xué)專業(yè)信息 處理:(1)新生信息錄入窗體啟動(dòng)。(2)在數(shù)據(jù)庫StuMagSys的class表檢索班級(jí)信息,并顯示在窗體的Class控件的下拉菜單內(nèi)。(3)用戶輸入新學(xué)生信息,檢驗(yàn)輸入是否完整,并核對(duì)是否符合標(biāo)準(zhǔn),如果不符合則提示用戶錯(cuò)誤信息。(4)如果檢驗(yàn)經(jīng)過,在數(shù)據(jù)庫StuMagSys內(nèi)的class表內(nèi)根據(jù)用戶輸入的班級(jí)信息查找相應(yīng)的班級(jí)號(hào)Class_id。以便于進(jìn)行student表中的數(shù)據(jù)插入。(5)在數(shù)據(jù)庫StuMagSys內(nèi)的student表中查找輸入的學(xué)生姓名和班級(jí),如果存在該信息,則表明輸入重復(fù),給出提示信息。(6)否則,把用戶輸入要添加的學(xué)生信息錄入到數(shù)據(jù)庫StuMagSys內(nèi)的student表中,給出成功的提示信息。 輸出:對(duì)學(xué)生表student進(jìn)行記錄修改 5.新生信息錄入模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassNewStu:System.Windows.Forms.Form { privateSystem.Windows.Forms.TextBoxStu_name; privateSystem.Windows.Forms.TextBoxStu_sex; privateSystem.Windows.Forms.TextBoxStu_age; privateSystem.Windows.Forms.TextBoxStu_home; privateSystem.Windows.Forms.TextBoxStu_nation; privateSystem.Windows.Forms.TextBoxStu_specialty; privateSystem.Windows.Forms.TextBoxStu_position; privateSystem.Windows.Forms.TextBoxStu_idnum; privateSystem.Windows.Forms.TextBoxStu_politic; privateSystem.Windows.Forms.ButtonExitNStu; privateSystem.Windows.Forms.Buttondrawbackbutt; privateSystem.Windows.Forms.ButtonInputnewStu; privateSqlConnectionNewStuConn; privateSqlCommandNewStuComd; privatestringNewStuStrConn="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; privatestringNewStuStrComd; privateSqlDataAdapterNewStusqlda; privateSystem.Windows.Forms.ComboBoxClass; privateSystem.Windows.Forms.DateTimePickerERdateTime; privateSystem.Windows.Forms.DateTimePickerBirthdateTime; publicNewStu() { InitializeComponent(); this.NewStu_Load(); } /*此處省略程序自動(dòng)生成的代碼*/ privatevoidNewStu_Load() { DataSetNewStudClassset=newDataSet(); stringNewStuStrConnSql="selectClass_namefromclass"; this.NewStuConn=newSqlConnection(this.NewStuStrConn); this.NewStusqlda=newSqlDataAdapter(NewStuStrConnSql,this.NewStuConn); NewStudClassset.Clear(); this.NewStusqlda.Fill(NewStudClassset,"Class"); for(inti=0;i<NewStudClassset.Tables[0].Rows.Count;i++) { Class.Items.Add(NewStudClassset.Tables[0].Rows[i][0]); } Class.SelectedIndex=0; } //撤銷按鈕代碼 privatevoiddrawbackbutt_Click(objectsender,System.EventArgse) { Stu_name.Text=""; Stu_sex.Text=""; Stu_age.Text=""; Stu_home.Text=""; Stu_nation.Text=""; Stu_specialty.Text=""; Stu_position.Text=""; Stu_idnum.Text=""; Stu_politic.Text=""; } privatevoidExitNStu_Click(objectsender,System.EventArgse) { if(MessageBox.Show("您確認(rèn)要退出?","確認(rèn)",MessageBoxButtons.YesNo)==DialogResult.Yes) this.Close(); } //輸入新學(xué)生代碼 privatevoidInputnewStu_Click(objectsender,System.EventArgse) { try { stringdate=this.ERdateTime.Value.Date.ToString();; if(date==""||this.Stu_name.Text=="")//保證學(xué)生姓名和入學(xué)日期必須得到填寫 { MessageBox.Show("學(xué)生姓名、入學(xué)時(shí)間、班級(jí)必須填寫!","提示"); } else { DataSetNewStudClassset=newDataSet(); //首先需要檢索出學(xué)生的班級(jí)號(hào)才能夠在學(xué)生表中進(jìn)行插入新記錄 stringNewStuStrConnSql="selectClass_idfromclasswhereClass_name="+"'"+this.Class.SelectedItem.ToString().Trim()+"'"; this.NewStuConn=newSqlConnection(this.NewStuStrConn); this.NewStusqlda=newSqlDataAdapter(NewStuStrConnSql,this.NewStuConn); NewStudClassset.Clear(); this.NewStusqlda.Fill(NewStudClassset,"Class"); stringClassId=NewStudClassset.Tables[0].Rows[0][0].ToString().Trim(); //檢索數(shù)據(jù)庫內(nèi)是否已經(jīng)有同名的記錄 DataSetNewStu=newDataSet(); stringExStu="select*fromstudentwherestudent_name="+"'"+this.Stu_name.Text.ToString().Trim()+"'"+"andclass_id="+"'"+ClassId+"'"; this.NewStuConn=newSqlConnection(this.NewStuStrConn); this.NewStusqlda=newSqlDataAdapter(ExStu,this.NewStuConn); NewStu.Clear(); this.NewStusqlda.Fill(NewStu,"student1"); if(NewStu.Tables[0].Rows.Count==0) { //在學(xué)生表中插入新紀(jì)錄 NewStuStrComd="insertintostudent(student_name,sex,Entrance_date,Class_id,Birth,Nation,home,politic,ID,Job,specialty)values"+ "("+"'"+Stu_name.Text.ToString().Trim()+"'"+","+"'"+Stu_sex.Text.ToString().Trim()+"'"+ ","+"'"+date+"'"+","+"'"+ClassId+"'"+","+"'"+this.BirthdateTime.Value.Date.ToString()+"'"+","+"'"+ this.Stu_nation.Text.ToString().Trim()+"'"+","+"'"+this.Stu_home.Text.ToString().Trim()+"'"+","+"'"+ this.Stu_politic.Text.ToString().Trim()+"'"+","+"'"+this.Stu_idnum.Text.ToString().Trim()+"'"+","+"'"+this.Stu_position.Text.ToString().Trim()+"'"+","+"'"+this.Stu_specialty.Text.ToString().Trim()+"'"+")"; NewStuConn=newSqlConnection(NewStuStrConn); NewStuConn.Open(); NewStuComd=newSqlCommand(NewStuStrComd,NewStuConn); intSuccnum=NewStuComd.ExecuteNonQuery(); if(Succnum>0)MessageBox.Show("錄入成功"); } else { MessageBox.Show("錄入信息重復(fù)。","確認(rèn)"); } } } catch(ExceptionEx) { 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è)置:控件控件屬性設(shè)置ComboBoxNameClassListDataGridNameQryStuDg 4.學(xué)生信息查詢模塊的IPO圖 功能:用戶輸入要檢索的條件,能夠按照學(xué)生姓名檢索,也能夠按照學(xué)生所在班級(jí)檢索,顯示檢索結(jié)果。 輸入:學(xué)生姓名或?qū)W生所在班級(jí) 處理:(1)學(xué)生信息查詢窗體啟動(dòng)。(2)在數(shù)據(jù)庫StuMagSys的class表檢索班級(jí)信息,并顯示在窗體的ClassList控件的下拉菜單內(nèi)。(3)如果用戶輸入學(xué)生姓名作為檢索條件,則在數(shù)據(jù)庫StuMagSys的student表內(nèi)檢索學(xué)生姓名為給定條件的學(xué)生信息,顯示檢索結(jié)果。(4)如果用戶輸入學(xué)生所在班級(jí)作為檢索條件,則在數(shù)據(jù)庫StuMagSys的student表內(nèi)檢索學(xué)生班級(jí)號(hào)為給定條件的學(xué)生信息,顯示檢索結(jié)果。 輸出:顯示檢索結(jié)果輸出到窗體的QryStuDg控件內(nèi)。 5.學(xué)生信息查詢模塊的主要代碼usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.SqlClient;namespaceStudentManagementsystem{ publicclassQueryStu:System.Windows.Forms.Form { privateSystem.Windows.Forms.TextBoxQryStuName; privateSystem.Windows.Forms.ButtonExitQryStu; privateSystem.Windows.Forms.DataGridQryStuDg; privateSystem.Windows.Forms.ButtonQryStuN; privateSystem.Windows.Forms.ButtonQueryStuClass; privateSystem.Windows.Forms.ComboBoxClassList; privatestringQryStustrconn; privatestringQryStuconnstr="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys"; privateSqlDataAdapterQryStusqlda; privateSqlConnectionQrySconn; privateSystem.ComponentModel.Containercomponents=null; publicQueryStu() { InitializeComponent(); this.QueryStu_Load(); } /*此處省略程序自動(dòng)生成的代碼*/ //檢索數(shù)據(jù)庫表class,并把檢索結(jié)果填充到班級(jí)列表 privatevoidQueryStu_Load() { DataSetQryStudClassset=newDataSet(); QryStustrconn="selectClass_namefromclass"; this.QryS

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論