軟件工程導(dǎo)論課程設(shè)計-學(xué)生學(xué)籍管理系統(tǒng)_第1頁
軟件工程導(dǎo)論課程設(shè)計-學(xué)生學(xué)籍管理系統(tǒng)_第2頁
軟件工程導(dǎo)論課程設(shè)計-學(xué)生學(xué)籍管理系統(tǒng)_第3頁
軟件工程導(dǎo)論課程設(shè)計-學(xué)生學(xué)籍管理系統(tǒng)_第4頁
軟件工程導(dǎo)論課程設(shè)計-學(xué)生學(xué)籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、安徽課程設(shè)計報告課 程: 軟件工程導(dǎo)論題 目:班 級: 專 業(yè): 計算機科學(xué)與技術(shù)姓名:學(xué)號: 指導(dǎo)教師: 日期 摘 要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷開展的新型學(xué)科,任何一個單位要生存要開展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。本系統(tǒng)是在管理信息系統(tǒng)的理論和方法指導(dǎo)下、數(shù)據(jù)庫技術(shù)支持下完成的。本文在結(jié)構(gòu)上首先論述了程序設(shè)計目的和意義,然后表達了開發(fā)環(huán)境、開發(fā)平臺以及數(shù)據(jù)庫技術(shù),接著用圖片、說明和代碼的方式介紹了系統(tǒng)的整體規(guī)劃,接下來是系統(tǒng)在具體實現(xiàn)中的詳細內(nèi)容,最終本系統(tǒng)能夠完成

2、信息的添加、修改、刪除、查詢等功能,本系統(tǒng)界面友好,操作簡單,比擬實用,思路縝密嚴謹,管理起來方便快捷,能有效的到達學(xué)生信息的管理的目的。關(guān)鍵詞:Microsoft Visual C#2021 Express Edition,SQL server2005,界面,權(quán)限目 錄摘 要2目 錄31 緒 論41.1 設(shè)計目的51.2 開發(fā)工具選擇51.3 開發(fā)環(huán)境51.4 本報告的主要內(nèi)容62 需求分析621系統(tǒng)任務(wù)描述6系統(tǒng)目標(biāo)6系統(tǒng)設(shè)計與功能分析7性能需求分析7722 系統(tǒng)概要設(shè)計7 2.2.1 數(shù)據(jù)需求7 數(shù)據(jù)字典7 數(shù)據(jù)流圖8 2.2.2 功能需求1023 系統(tǒng)詳

3、細設(shè)計102.3.1 概念結(jié)構(gòu)設(shè)計102.3.2 邏輯結(jié)構(gòu)設(shè)計122.3.3 物理結(jié)構(gòu)設(shè)計132.3.4 系統(tǒng)功能設(shè)計143 總體設(shè)計15設(shè)計概述15系統(tǒng)總體結(jié)構(gòu)及功能模塊劃分15學(xué)生信息查詢模塊15學(xué)生信息管理模塊16平安保密設(shè)計16用戶登錄平安性174 詳細設(shè)計17概述17系統(tǒng)程序流程圖18系統(tǒng)主要功能模塊簡介18系統(tǒng)登錄18學(xué)生信息查詢模塊18學(xué)生信息管理模塊19 4.3.4管理員信息管理模塊20 4.3.5教師信息管理模塊21 5 系統(tǒng)測試及難點分析235.1 公共類代碼設(shè)計235.2 登錄界面代碼設(shè)計265.3 查詢模塊代碼設(shè)計275.4 添加模塊代碼設(shè)計285.5 更新模塊代碼設(shè)計

4、295.6 刪除模塊代碼設(shè)計32結(jié) 論32參考文獻331 緒 論人類有幾千年的歷史,計算機從產(chǎn)生到現(xiàn)在只不過50多年,而網(wǎng)絡(luò)的迅速開展也不過10年的時間。但是,計算機和網(wǎng)絡(luò)對社會的影響已經(jīng)迅速擴大,甚至在改變?nèi)藗兊纳睢L貏e是90年代以來,多媒體和網(wǎng)絡(luò)技術(shù)的飛速開展正在以驚人的速度改變著人們的工作方式、交往方式和生活方式。正像著名的未來學(xué)家尼葛洛龐帝1997所說的:“數(shù)字不再只和計算有關(guān),它決定我們的生存。科學(xué)技術(shù)是第一生產(chǎn)力,是最先進的生產(chǎn)力。現(xiàn)在,已經(jīng)沒有人疑心信息技術(shù)的開展將會引起人類社會全面和深刻的變革,使人類社會由工業(yè)社會邁向信息社會。目前,在社會各個方面都呈現(xiàn)出了與工業(yè)社會顯著不同

5、的特點。網(wǎng)上書店,網(wǎng)上醫(yī)院,網(wǎng)上學(xué)校,網(wǎng)上購物,網(wǎng)上銀行,政府上網(wǎng)等新事物如雨后春筍般涌現(xiàn)出來,對人們的傳統(tǒng)生活方式、工作方式產(chǎn)生極大的沖擊。使人們感受到技術(shù)開展的脈搏和信息時代前進的步伐。隨著學(xué)校的規(guī)模不斷擴大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量需要有學(xué)生管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的標(biāo)準(zhǔn)管理、科學(xué)統(tǒng)計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。1.1 設(shè)計目的本課程設(shè)計的目的是使學(xué)生能熟練掌握簡單的簡單Windows窗體應(yīng)用程序的設(shè)計和ADO.net的應(yīng)用,希望通過本次課程設(shè)計鍛煉學(xué)生使用C#語言解決實際問題的能

6、力。1.2 開發(fā)工具選擇本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft SQL Server 數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在平安性、準(zhǔn)確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采用Microsoft 公司的Visual Studio 2021作為主要開發(fā)工具,可與SQL Server 2005數(shù)據(jù)庫無縫鏈接。1.3 開發(fā)環(huán)境系統(tǒng)開發(fā)平臺:Microsoft Visual Studio2005系統(tǒng)開發(fā)語言:C#數(shù)據(jù)庫管理軟件:SQL Server 20051.4 本報告的主要內(nèi)容本報告詳細的介紹了學(xué)生信息管理系統(tǒng)的開發(fā)過程,主要涉及到的工作如下:系統(tǒng)的需求分析、系統(tǒng)的總體設(shè)計、系統(tǒng)的概念設(shè)計

7、、系統(tǒng)各模塊的詳細設(shè)計、系統(tǒng)運行與測試。2 需求分析需求分析是一組活動的總稱,作為系統(tǒng)分析員,必須協(xié)同軟件用戶共同完成。而需求分析的任務(wù)是定義待開發(fā)的軟件的功能、性能等指標(biāo)。首先要了解用戶的相關(guān)事務(wù),如果你給一家網(wǎng)站做在線書店系統(tǒng),除了參考現(xiàn)在已經(jīng)存在的類似和相關(guān)的系統(tǒng)外,你還需要通過用戶的演示、講解和有關(guān)文檔,與用戶進行交流協(xié)商。在這個過程中,可以提出自己有建設(shè)性的想法和建議,只有這樣,用戶和系統(tǒng)設(shè)計人員才會在系統(tǒng)提供的事務(wù)上達成一致,這對于軟件來說是相當(dāng)重要的。其次要分析用戶的事務(wù)流程,前面了解的用戶事務(wù)只是一些離散的事務(wù)活動,而事務(wù)流程是一種重要的信息,比方用戶登錄這個流程,他需要經(jīng)歷用

8、戶名和密碼的輸入,正確用戶類型的選擇這些活動,然后將了解到的用戶活動加以整理并按照這些活動所固有的次序形成業(yè)務(wù)流程。還要了解用戶對軟件的期望值,除了需要能夠正確處理用戶的事務(wù)外,還需要了解用戶對系統(tǒng)的其他需求,比方系統(tǒng)的平安性。這些對于用戶而言也顯得尤為重要。最后整理出用戶需求并評審需求。21系統(tǒng)任務(wù)描述系統(tǒng)模塊的設(shè)計應(yīng)該遵循整個系統(tǒng)總體設(shè)計思路,基于C#開發(fā)工具與數(shù)據(jù)庫SQL設(shè)計,主要完成的設(shè)計如下:(1) 根據(jù)查詢條件實現(xiàn)學(xué)生信息的查詢(2) 學(xué)生選課信息查詢、成績信息的查詢(3) 學(xué)生信息、課程信息、成績信息的增加、刪除、修改(4) 對根本信息完成增加、刪除、修改時,需注意表與表之間的關(guān)

9、聯(lián)系統(tǒng)設(shè)計與功能分析 學(xué)生信息管理系統(tǒng),可用于學(xué)校等機構(gòu)的學(xué)生信息管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2000數(shù)據(jù)庫作為后臺的數(shù)據(jù)庫進行信息的存儲,用SQL語句完成學(xué)生學(xué)籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用ODBC驅(qū)動實現(xiàn)前臺Java與后臺SQL數(shù)據(jù)庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等系統(tǒng)下使用,方便簡單,平安性好。SQLServer2000數(shù)據(jù)庫高效平安,兩者結(jié)合可相互利用各自的優(yōu)勢。該系統(tǒng)實現(xiàn)的大致功能:1 用戶登陸界面。該界面可以選擇使用者

10、的身份,“管理員,教師,學(xué)生。不同的身份有不同的操作界面和功能權(quán)限。ID號和密碼輸入正確即可登錄。學(xué)生管理界面。提供了學(xué)生學(xué)籍信息的查詢,修改登錄密碼等功能。2 教師管理界面。提供了對學(xué)生學(xué)籍信息的查詢,添加,修改,刪除。修改密碼等功能。3 管理員管理界面。擁有最高的權(quán)限。允許添加教師信息。4 登錄的用戶信息分別存儲在SQL數(shù)據(jù)庫的“管理員信息表, “教師信息表, “學(xué)生表中,如果用戶信息不存在那么三張表中,將會無權(quán)利登錄本管理系統(tǒng)。保證了本學(xué)生管理系統(tǒng)的平安性。(1) 登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。(2) 平安保密性需求:只有憑借用戶名和密碼登陸系統(tǒng),才能進行信息的管

11、理等。22 系統(tǒng)概要設(shè)計2.2.1數(shù)據(jù)需求:數(shù)據(jù)字典實體屬性表:實體屬性教師教師ID,教師姓名,登錄密碼管理員管理員ID,登錄密碼學(xué)生學(xué)號,姓名,性別,班級號,籍貫,登錄密碼,學(xué)生成績教師信息表:字段名 類型空值約束條件教師ID varchar(8)not null主鍵教師姓名varchar(8)not null登錄密碼varchar(8)not null管理員信息表:字段名 類型空值約束條件管理員ID varchar(10)not null主鍵登錄密碼varchar(10)not null學(xué)生表:字段名 類型空值約束條件學(xué)號int not null主鍵姓名varchar(30)not nul

12、l性別char(2)班級號varchar(30)not null 外鍵籍貫char(10)  登錄密碼moneynot null學(xué)生成績Char 數(shù)據(jù)流圖第一層 學(xué)生名單學(xué)籍管理系統(tǒng)學(xué) 生教 師 學(xué)生信息 成績 學(xué) 生管理人員 統(tǒng)計表 成績單第二層1錄入存儲處理2查詢處理學(xué)生記錄學(xué)生信息 成績 3統(tǒng)計 處理4升留級處理本次考試成績歷次考試成績 班平均成績 升留級表 各科平均成績第三層13錄入存儲學(xué)生信息各科成績是否新生審計學(xué)生信息 合格單 新生信息 學(xué)生信息學(xué)生成績第四層班級平均成績 班級統(tǒng)計選擇學(xué)生信息 統(tǒng)計成績 各科平均成績 各科第五層是否升留級更新記錄學(xué)

13、生信息 升留級名單 學(xué)生記錄成績標(biāo)準(zhǔn)2.功能需求:1實現(xiàn)學(xué)生根本情況的錄入,修改,刪除等根本操作。2對學(xué)生根本信息提供靈活的查詢方式。3完成一個班級的學(xué)期選課功能。4實現(xiàn)學(xué)生成績的錄入,修改,刪除等根本操作。5能方便的對學(xué)生的個人學(xué)期成績進行查詢。6具有成績統(tǒng)計,排名等功能。7具有留級,休學(xué)等特殊情況的處理功能。8能輸出常用的各種報表。9具有數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)功能。23系統(tǒng)詳細設(shè)計概念結(jié)構(gòu)設(shè)計局部ER圖性別姓名人數(shù)專業(yè)名專業(yè)號 學(xué)生學(xué)號出生年月專業(yè)院系課程號學(xué)時課程名課程整體的ER圖專 業(yè)學(xué)生課程院系專業(yè)號 學(xué)時出生年月性別姓名學(xué)號密碼課程號專業(yè)名人數(shù)專業(yè)號設(shè)置課程號學(xué)期課程號選課屬于 學(xué)號成

14、績學(xué)期課程名 . 邏輯結(jié)構(gòu)設(shè)計(1)ER圖轉(zhuǎn)換為關(guān)系模型由ER圖可見:圖中有三個實體:學(xué)生,課程,和專業(yè);三個關(guān)系:學(xué)生選課關(guān)系,學(xué)生與專業(yè)之間的屬于關(guān)系,專業(yè)的課程設(shè)置。由于每個實體必須構(gòu)造表,所以可以先得到三個實體的信息表,實體的碼就是關(guān)系的碼,實體的屬性即關(guān)系模型的屬性:學(xué)生根本信息表: S (sno, sname, ssex, sbirth, spasw) 課程根本信息表: C (cno, cname, cperiord)專業(yè)根本信息表: P (pno, pname, pnum, psdept)對應(yīng)的屬性分別為:學(xué)號,姓名,性別,出生日期,登陸密碼 課程編號,課程名,學(xué)期 專業(yè)編號,專

15、業(yè)名,專業(yè)人數(shù),所在院系對于多對多的關(guān)系來說,與該聯(lián)系相連的實體的碼以及本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體之間的碼組成關(guān)系的碼或者關(guān)系的碼的一局部。 以上ER圖的三個聯(lián)系為多對多,所以轉(zhuǎn)換為關(guān)系模式為:課程設(shè)置表:pc ( pno, psenior, cno) 與設(shè)置相連的實體有專業(yè)和課程,根據(jù)多對多的轉(zhuǎn)換原那么:專業(yè)的碼pno,課程的碼cno以及設(shè)置本身的屬性共同構(gòu)成該關(guān)系模式的碼,所以該關(guān)系模式的碼為全碼。學(xué)生選課表:SC (sno, psenior, cno, grade)與選課相連的實體有學(xué)生和課程,同上由學(xué)生的碼sno,課程的碼cno以及選課本身的碼psenior構(gòu)成該關(guān)系模式的碼

16、,即sno,cno,psenior。此外,選課表還有一個非主屬性grade。學(xué)生與專業(yè)的屬于表:SP(sno,pno)與屬于關(guān)系相聯(lián)的實體是學(xué)生和專業(yè)。同上由學(xué)生的碼sno,專業(yè)的碼pno構(gòu)成該關(guān)系模式的碼,由于此關(guān)系沒有其他的碼也就沒有非主屬性。2關(guān)系模式的優(yōu)化:學(xué)生表 s (sno,sname,ssex,sbirth,spasw)該關(guān)系模式的碼為sno,由于只有一個碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關(guān)系模式的函數(shù)依賴為: sno -> sname, sno -> ssex, sno -> ssex,sno -> sbirth, sn

17、o -> spasw,其間不存在傳遞依賴,故學(xué)生表可到達3NCF.課程表 C ( cno ,cname , cperiod)該關(guān)系模式的碼為cno, cname,設(shè)主碼為cno,因為該關(guān)系模式中的碼都是單一的,即不存在有兩個或者兩個以上的屬性組成的碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關(guān)系模式的函數(shù)依賴為:cno->cname, cno->cperiod, cname ->cno ,cname -> cperiod. 因為cno -> cname,cname -> cperiod cno -> cperiod, 所以

18、該關(guān)系模式中存在傳遞依賴,不能到達3NCF。故優(yōu)化該表為:C1(cno,period),C2cname,cperiod.從而兩表都到達了3NCF。專業(yè)表 P (pno,pname,pnum,pdept)該關(guān)系模式的碼為pno,pname,其中設(shè)定pno為主碼。同課程表,該表不存在有兩個或者兩個以上屬性組成的碼,即不存在非主屬性對碼的局部函數(shù)依賴,故可到達2NCF。另外,此關(guān)系模式的函數(shù)依賴為:pno->pname, pno-> pnum, pno -> pdept , pname -> pno, pname->pnum, pname -> pdept; 由于

19、存在傳遞依賴:pno -> pname, pname->pnum, pno -> pnum., 所以未能到達3NCF。優(yōu)化分解為:P1 (pno,pnum,pdept), P2 (pname,pnum,pdept)明顯,兩表都到達了3NCF.課程設(shè)置表PC(pno,psenior,cno),該關(guān)系模式的碼為:(pno,psenior,cno)為全碼,所以可直接到達3NCF學(xué)生選課表 SC(sno,psenior,cno,grade)該關(guān)系模式的碼為:sno,psenior,cno,因為不存在非主性grade對碼的局部函數(shù)依賴,所以可到達2NCF,由于不存在函數(shù)依賴表中的函數(shù)依

20、賴只有sno,psenior,cno-> grade故也到達了3NCF屬于表 SP(sno,pno)該關(guān)系模式的碼(sno,pno)也是全碼,所以也到達了3NCF用戶表 U(uname,upasw)該表的碼為uname,明顯upasw對碼uname是完全函數(shù)依賴的,從而到達2NCF。另外因為只有兩個屬性,所以不存在傳遞函數(shù)依賴,該表到達了3NCF物理結(jié)構(gòu)設(shè)計1根本表學(xué)生表s列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)sname否否否無是Char(20)ssex否否否無是Char(2)只可取男或女sbirth否否否無是Char(20)spasw否否否無是

21、Char(10)課程表 c1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cno是否否無否Char(10)cperiod否否否無是smallint課程表c2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cname是否否無否Char(20)cperiod否否否無是smallint專業(yè)表p1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)pnum否否否無是smallintPnum >=0psdept否否否無是Char(20)專業(yè)表p2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pname是否否無否Char(20)pnum否否否無是smallintPnu

22、m >=0psdept否否否無是Char(20)課程設(shè)置表 pc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)學(xué)生選課表sc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)grade否否否無是smallintgrade>=0學(xué)生與專業(yè)屬于表sp列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)pno是否否無否Char(10)管理人員密碼表u列名主

23、碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件uname是否否無否Char(20)upasw否否否無否Char(10)(2)視圖,索引a.索引:本數(shù)據(jù)庫中的表除了主鍵本身生成的主索引外,沒有定義其他的索引。在查詢時即引用主索引即可。表s的主索引列為:sno表c1的主索引列為:cno表c2的主索引列為:cname表p1的主索引列為:pno表p2的主索引列為:pname表sc的主索引列為:(pno,psenior,cno)表sp的主索引列為:(sno,pno)表u的主索引列為:unameb視圖:雖然關(guān)系數(shù)據(jù)模型分析的結(jié)果表示該數(shù)據(jù)庫需要定義不同的用戶視圖,但考慮到數(shù)據(jù)庫與前臺開發(fā)程序的連接比擬復(fù)雜,所

24、以該數(shù)據(jù)庫中沒有單獨定義用戶視圖,不同的用戶視圖被有選擇性的的select語句的結(jié)果集取.系統(tǒng)功能設(shè)計學(xué)生學(xué)籍管理系統(tǒng)添加用戶學(xué)生信息管理人員信息根本信息信息查詢成績查詢系統(tǒng)管理查詢管理成績統(tǒng)計個人成績專業(yè)成績歡送界面身份及密碼驗證根本信息維護刪除更新添加 3總體設(shè)計根據(jù)需求把整個系統(tǒng)分化成不同的模塊,每個模塊完成一個特定的子功能。把這些模塊結(jié)合起來組成一個整體。逐一實現(xiàn)各個功能;學(xué)生成績錄入學(xué)生信息管理學(xué)生信息管理系統(tǒng)學(xué)生信息查詢經(jīng)過對系統(tǒng)的需求分析,學(xué)生信息管理系統(tǒng)主要劃分為三個局部:學(xué)生信息查詢,學(xué)生信息管理,學(xué)生成績錄入三個功能模塊。如圖3.2.1 系統(tǒng)的總體結(jié)構(gòu)。圖3.2.1 系統(tǒng)的

25、總體結(jié)構(gòu)學(xué)生信息查詢學(xué)號查詢姓名查詢學(xué)生信息查詢:學(xué)生可以根據(jù)學(xué)號、姓名、專業(yè)進行查詢學(xué)生信息查詢模塊結(jié)構(gòu)。圖3.2.2 學(xué)生信息管理模塊結(jié)構(gòu)根本信息錄入成績錄入根本信息更新成績更新學(xué)生信息刪除學(xué)生信息錄入學(xué)生信息管理學(xué)生信息更新學(xué)生信息管理:主要是用于學(xué)生信息更新、插入、刪除,如圖3.2.3學(xué)生管理模塊結(jié)構(gòu)。圖3.2.3 學(xué)生信息管理模塊結(jié)構(gòu)系統(tǒng)設(shè)計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當(dāng)用戶輸入正確的用戶名及密碼組合后才能夠?qū)W(xué)生信息進行操作。 4詳細設(shè)計詳細設(shè)計階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出目標(biāo)系統(tǒng)的精確描述,從而

26、在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設(shè)計的方法。它可將整個程序的總體流程清楚明白的顯示出來。如圖4.2.1系統(tǒng)總流程圖結(jié)構(gòu)。 用戶憑借用戶名及密碼登錄,成功登錄后可對學(xué)生信息進行操作。用戶界面如圖4.3.1 用戶登錄界面所示。圖4.3.1 用戶登錄界面學(xué)生信息查詢:在程序主界面如圖4.3.2 程序主界面學(xué)生可以根據(jù)學(xué)號、姓名進行查詢。學(xué)生也可以只用一種條件進行信息查詢,也可以多個條件查詢。雙擊記錄任一單元格可顯示學(xué)生的更詳細信息。圖4.3.2 程序主界面學(xué)生信息管理:通過右擊程序主界面的相應(yīng)記錄彈出的上下文菜

27、單可對當(dāng)前選定學(xué)生信息進行詳細信息查詢、修改信息、刪除信息。更新時如果輸入的學(xué)號不存在,可選擇是否添加學(xué)生信息。通過程序主界面的新建信息記錄可添加學(xué)生信息。圖4.3.4 上下文菜單圖4.3.6 學(xué)生信息增刪改查界面4.3.4管理員信息管理模塊管理員信息管理:通過右擊程序主界面的相應(yīng)記錄彈出的上下文菜單可對當(dāng)前選定學(xué)生信息進行詳細信息查詢、修改信息、刪除信息。更新時如果輸入的學(xué)號不存在,可選擇是否添加學(xué)生信息。通過程序主界面的新建信息記錄可添加學(xué)生信息。 圖4.3.8 管理員添加界面4.3.5管理員信息管理模塊教師信息管理:通過右擊程序主界面的相應(yīng)記錄彈出的上下文菜單可對當(dāng)前選定學(xué)生成績進行詳細

28、信息錄入,更改。更新時如果輸入的學(xué)號不存在,可選擇是否添加學(xué)生成績。通過程序主界面的新建信息記錄可添加學(xué)生成績。 5主要功能模塊代碼5.1 公共類代碼設(shè)計 namespace MySql public class mySql public String connectionString = "SERVER=.SQLEXPRESS;AttachDbFilename=D:學(xué)習(xí)C#課程設(shè)計StuScoreManSystemStuScoreManSystemStuScoManSys.mdf;Integrated Security=True;Connect Timeout=30;User In

29、stance=True;" public String commondText; public bool flag; /指示有條該條記錄 public System.Data.DataView table; public void runSql() / 執(zhí)行查詢、刪除SQL語句 using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); Sql

30、DataAdapter sda = new SqlDataAdapter(commondText, connection); DataSet ds = new DataSet(); sda.Fill(ds); if (commondText.IndexOf("SELECT") >= 0) table = ds.Tables0.DefaultView; connection.Close(); public bool getFlag() /判斷是否有該條記錄 using (SqlConnection connection = new SqlConnection(conne

31、ctionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); SqlDataReader reader = cmdQuery.ExecuteReader(); if (reader.Read() flag = true; else flag = false; reader.Close(); connection.Close(); return flag; public String getContent(String require,String SNO) /獲取視圖

32、表的的指定單元格內(nèi)容 try commondText = "SELECT " + require + " FROM detail WHERE 學(xué)號=" + SNO; if (require = "up課程名稱") commondText = "SELECT 課程名稱 FROM detail WHERE 學(xué)號=" + SNO; if (require = "up成績") commondText = "SELECT 成績 FROM detail WHERE 學(xué)號=" + SNO;

33、 SqlDataAdapter sda = new SqlDataAdapter(commondText, connectionString); DataSet ds = new DataSet(); sda.Fill(ds); String result="" if(require="課程名稱"|require="成績") int i=new int(); for (i=0; i <ds.Tables0.Rows.Count; i+) result = result+ds.Tables0.Rowsirequire.ToStri

34、ng()+"n" else result=ds.Tables0.Rows0require.ToString().Trim(); return result; catch return "無" public void update() /添加、更新語句 try using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdInsert = new SqlCommand(commondText, connection

35、); cmdInsert.ExecuteNonQuery(); connection.Close(); catch(Exception ex) MessageBox.Show(ex.ToString(), "提示"); 5.2 登錄界面代碼設(shè)計 private void login_Click(object sender, EventArgs e) /用戶名及密碼組合判斷 if (username.Text.ToString().Trim() != "" && password.Text.ToString().Trim() != &quo

36、t;") mySql sql = new mySql(); sql mondText = "SELECT * FROM userdata WHERE USERNAME='" + username.Text.ToString().Trim() + "' AND PASSWORD='" + password.Text.ToString().Trim() + "'" try bool temp = new bool(); temp = sql.getFlag(); if (temp) this.Vi

37、sible = false; mainface main = new mainface(this); main.Show(); catch(Exception ex) MessageBox.Show(ex.ToString(),"提示"); else MessageBox.Show("請輸入用戶名和密碼","提示"); 5.3 查詢模塊代碼設(shè)計 private void btQuery_Click(object sender, EventArgs e) mySql query=new mySql(); if (sNInput.Text

38、.Trim() = ""&& sNoinput.Text.Trim()!="") query mondText = "SELECT SNO AS 學(xué)號,SN AS 姓名,MN AS 專業(yè)名稱,SEX AS 性別,BIRDAY AS 出生日期,TS AS 總學(xué)分,COM AS 備注 FROM S WHERE SNO="+sNoinput.Text.Trim()+"" if (sNInput.Text.Trim() != "" && sNoinput.Text.Tri

39、m() = "") query mondText = "SELECT SNO AS 學(xué)號,SN AS 姓名,MN AS 專業(yè)名稱,SEX AS 性別,BIRDAY AS 出生日期,TS AS 總學(xué)分,COM AS 備注 FROM S WHERE SN='" +sNInput.Text.Trim()+ "'" if (sNInput.Text.Trim() != "" && sNoinput.Text.Trim() != "") query mondText = &

40、quot;SELECT SNO AS 學(xué)號,SN AS 姓名,MN AS 專業(yè)名稱,SEX AS 性別,BIRDAY AS 出生日期,TS AS 總學(xué)分,COM AS 備注 FROM S WHERE SN='" + sNInput.Text.Trim() + "' and SNO=" + sNoinput.Text.Trim() + "" if (sNInput.Text.Trim() = "" && sNoinput.Text.Trim() = "") MessageBox.Show("您輸入的信息為空,請重新輸入!", "錯誤信息"); else if (query.getFlag() query.runSql(); dataGridView1.DataSource = query.table; else MessageBox.Show("您查找的信息不存在", "錯誤信息"); 5.4 添加模塊代碼設(shè)計 private void addbtOK_Click(object sender, EventArgs e) if (addStuNo.Text.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論