版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生信息管理系統(tǒng)設(shè)計報告 一、 設(shè)計目的作為c#課程結(jié)課設(shè)計,驗證自身的學(xué)習(xí)效果,同時希望利用所學(xué)的基本知識和技能,進(jìn)行簡單數(shù)據(jù)庫應(yīng)用程序設(shè)計。希望通過項目實踐,熟悉鞏固所學(xué)知識,以使自身達(dá)到熟練掌握.net基本結(jié)構(gòu)以及c#語言的基本知識和技能,基本掌握面向?qū)ο蟪绦蜷_發(fā)的基本思路和方法,了解ado.net數(shù)據(jù)庫開發(fā)基本知識,為今后的進(jìn)一步深入學(xué)習(xí),奠定基礎(chǔ)。二、需求分析學(xué)生管理系統(tǒng)的開發(fā)目的是為了實現(xiàn)學(xué)生課程、學(xué)籍的信息化管理。本系統(tǒng)需要完成的功能有:班級管理、學(xué)生管理、科目管理、課程管理、成績管理以及系統(tǒng)管理員才具有的教師管理和用戶管理。1.班級管理:可對班級進(jìn)行添加、刪除、修改、查找和報表
2、輸出等功能,班級屬性有:名稱、班主任(來自于系統(tǒng)中保存的教師)、當(dāng)前學(xué)生人數(shù)、建班日期和備注等屬性。2.學(xué)生管理:可對學(xué)生進(jìn)行添加、刪除、修改、查找和報表輸出等功能,學(xué)生屬性有:學(xué)號、姓名、性別、所屬班級(來自于系統(tǒng)中保存的班級)、相片、出生日期和備注等屬性。3.科目管理:可對科目進(jìn)行添加、刪除、修改、查找和報表輸出等功能,科目屬性有:科目名稱、學(xué)時數(shù)和備注等屬性。4.課程管理:可對每一個班級的上課科目進(jìn)行添加、刪除、修改、查找和報表輸出等功能,課程屬性有:所屬班級(來自于系統(tǒng)中保存的班級)、授課老師(來自于系統(tǒng)中保存的教師)、開課日期、結(jié)課日期和備注等屬性。5.成績管理:可對每一個班級的上課
3、科目的學(xué)生成績進(jìn)行添加、刪除、修改、查找和報表輸出等功能,成績屬性有:學(xué)生姓名、所屬班級(來自于系統(tǒng)中保存的班級)、課程名、成績、備注等屬性。6. 系統(tǒng)管理:該模塊的主要任務(wù)是維護(hù)系統(tǒng)的正常運行和安全性設(shè)置,包括添加用戶、修改密碼、重新登錄等等。三、系統(tǒng)模塊的實現(xiàn)在系統(tǒng)中包括以下功能:系統(tǒng)管理、學(xué)生信息管理、課程信息管 理、成績信息管理、班級信息管理。系統(tǒng)各模塊關(guān)系如圖所示:本系統(tǒng)共分為三大部分:1、 登錄模塊 為了系統(tǒng)的安全,在進(jìn)入系統(tǒng)之前首先會出現(xiàn)一個登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進(jìn)入系統(tǒng)。 用戶登錄窗體中放置了兩個文本框(textbox),用來輸入用戶名和密碼
4、;兩個按鈕(button)用來確定或者取消登錄。設(shè)置一個sstab控件,供不同用戶登錄時選擇用戶權(quán)限,超級用戶擁有一切權(quán)限(包括添加刪除和修改以及對用戶的管理),普通用戶擁有受限制的權(quán)限(查詢及修改密碼),提高了數(shù)據(jù)庫的安全性。添加一個tooltip組件,提示用戶輸入正確的用戶名和密碼形式,提示用戶密碼是佛正確。登陸條件判斷代碼:private void button1_click(object sender, eventargs e) if (this.textbox1.text = | this.textbox2.text = ) messagebox.show(用戶名或密碼不能為空!);
5、 sqlconnection conn = new sqlconnection(connstring); string str = select * from users where username= + this.textbox1.text.trim() + ; try conn.open(); sqlcommand cmd = new sqlcommand(str, conn); sqldatareader read = cmd.executereader(); if (read.read() if (textbox2.text.trim() = readuserpassword.tos
6、tring().trim() messagebox.show(用戶正確,歡迎您使用本系統(tǒng)!); this.hide(); 主界面 fm = new 主界面(); fm.show(); else messagebox.show(密碼錯誤,請重新輸入!); catch (exception ex) messagebox.show(ex.message); conn.close(); private void button2_click(object sender, eventargs e) application.exit(); 2、 系統(tǒng)主界面模塊登陸成功后,即可進(jìn)入,系統(tǒng)主界面模塊。窗體名稱為
7、界面功能介紹。主界面為進(jìn)入學(xué)生管理系統(tǒng)各模塊的入口,用戶可根據(jù)menustrip上面各個模塊名稱單擊進(jìn)入各個管理模塊,從而進(jìn)行對系統(tǒng)的管理操作。主界面入口代碼: private void 學(xué)生增刪toolstripmenuitem_click(object sender, eventargs e) 學(xué)生管理 fm4 = new 學(xué)生管理(); fm4.show(); private void 課程管理toolstripmenuitem_click(object sender, eventargs e) 課程管理 fm7 = new 課程管理(); fm7.show(); private voi
8、d 科目管理toolstripmenuitem_click(object sender, eventargs e) 科目管理 fm8 = new 科目管理(); fm8.show(); private void 成績管理toolstripmenuitem_click(object sender, eventargs e) 成績管理 fm10 = new 成績管理(); fm10.show(); private void 用戶管理toolstripmenuitem_click(object sender, eventargs e) 用戶管理 fm12 = new 用戶管理(); fm12.sho
9、w(); private void 修改密碼toolstripmenuitem_click(object sender, eventargs e) 更改密碼 fm14 = new 更改密碼(); fm14.show(); private void 班級管理toolstripmenuitem_click(object sender, eventargs e) 班級管理 fm2 = new 班級管理(); fm2.show(); 3、 各功能模塊1. 用戶管理:可對用戶進(jìn)行添加、刪除、修改、查找等功能,用戶屬性有:用戶名、密碼、用戶類型、用戶權(quán)限、用戶注冊日期等信息。在用戶管理界面,用戶可根據(jù)自身
10、權(quán)限查看用戶信息,系統(tǒng)超級管理員可根據(jù)需求進(jìn)行添加、刪除用戶等相關(guān)操作。進(jìn)入用戶管理界面后,將會出現(xiàn)一個主窗體,選擇系統(tǒng)管理模塊下的添加用戶,就可以進(jìn)入添加用戶窗體,可以通過該窗體增加新的用戶。 在這個窗體中放置了三個文本框,用來輸入用戶名和密碼;兩個按鈕用來確定是否添加用戶;三個標(biāo)簽用來標(biāo)示文本框的提示。用戶添加界面,超級管理員可通過本界面對用戶修改用戶類型,用戶權(quán)限設(shè)置。1.4.2修改密碼窗體的創(chuàng)建 在系統(tǒng)管理模塊下,進(jìn)入修改密碼窗體,用戶可根據(jù)需要修改自己的密碼。在這個窗體中放置了兩個文本框,用來輸入密碼和確認(rèn)密碼;兩個按鈕用來確定是否修改密碼;兩個標(biāo)簽用來標(biāo)示文本框的內(nèi)容。密碼修改界面
11、主要包括用戶名、新設(shè)置密碼、以及確認(rèn)等功能。主要供普通用戶進(jìn)行密碼修改、以及密碼清除操作。2. 班級管理:班級信息管理界面班級屬性有:名稱、班主任(來自于系統(tǒng)中保存的教師)、當(dāng)前學(xué)生人數(shù)、建班日期和備注等屬性。班級管理模塊主要分為班級信息管理和班級查詢兩個界面,班級基本信息管理界面中的groupbox班級檔案,顯示班級編號、班級名稱、學(xué)制、專業(yè)、班主任、開班日期、備注等基本信息情況。datagridview顯示數(shù)據(jù)庫中班級詳細(xì)信息以及伴隨操作產(chǎn)生的數(shù)據(jù)變動情況。在本操作界面內(nèi),管理員可對班級信息進(jìn)行添加、刪除、修改等各種操作。班級查詢界面班級查詢界面,主要實現(xiàn)班級基本信息的查詢,面向沒有管理權(quán)
12、限的普通用戶訪問系統(tǒng)信息,根據(jù)班級編號對班級信息進(jìn)行查詢操作,詳細(xì)信息會在窗體上面datagridview中顯示,普通用戶只能瀏覽信息,不能進(jìn)行刪除、修改等管理權(quán)限操作。3. 課程管理:課程管理模塊主要分為課程管理界面和教師管理界面兩部分實現(xiàn)。課程管理界面中的datagridview顯示課程基本信息,包括科目編號、班級編號、開課學(xué)期、教師編號、開課日期、捷克日期等基本信息。管理員可對每一個班級的上課科目進(jìn)行添加、刪除、修改、查找等功能,也可對全部課程進(jìn)行查看、修改、添加、刪除等基本操作。sql = select * from classcourse; da = new sqldataadapt
13、er(sql, connstring); ds = new dataset(); da.fill(ds, classcourse); binds = new bindingsource(ds, classcourse); datagridview1.datasource = binds;教師管理模塊主要包括教師基本檔案,教師屬性為編號、姓名、聯(lián)系電話、教師姓名、任教年限、性別、專業(yè)、出生年月。在教師管理模塊可進(jìn)行相應(yīng)的查詢與信息修改。4.課程管理模塊課程信息瀏覽功能:點擊主窗體中課程管理模塊下的科目信息瀏覽,可進(jìn)入科目信息瀏覽窗體。為了用戶的使用方便,我使用了sstab控件,故在該窗體中同時包
14、含了科目信息的添加和修改的功能。并且我還在窗體上設(shè)置了myflexgrid控件。添加和修改記錄后,對于數(shù)據(jù)有何變化都可以在myflexgrid中顯示出來,使用戶對所做的操作一目了然。 課程設(shè)置功能:進(jìn)入課程管理模塊下的年級課程設(shè)置窗體,可以對每一個年級的課程進(jìn)行設(shè)置。 sqlconnection conn = new sqlconnection(connstring); string sql = insert into classcourse values( + + textbox1.text + , + textbox2.text + , + textbox3.text + , + text
15、box4.text + , + datetime.parse(datetimepicker1.text) + , + datetime.parse(datetimepicker2.text) + ); try conn.open(); messagebox.show(打開數(shù)據(jù)庫連接成功); sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(添加記錄成功!); catch (sqlexception ex) messagebox.show(數(shù)據(jù)庫連接失??! + 添加記錄失?。?+
16、ex.message); 可對科目進(jìn)行添加、刪除、修改、查找等功能,修改sqlconnection conn = new sqlconnection(connstring); string sql = update classcourse set courseno= + textbox1.text + , + classno= + textbox2.text + , + startterm= + textbox3.text + , + teano= + textbox4.text + , + startdata= + datetime.parse(datetimepicker1.text) +
17、 , + finishdata= + datetime.parse(datetimepicker2.text) + + where courseno= + temp; try conn.open(); messagebox.show(打開數(shù)據(jù)庫連接成功); sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(修改記錄成功!); catch (sqlexception ex) messagebox.show(數(shù)據(jù)庫連接失??! + 修改記錄失?。?+ ex.message); 科目管理
18、模塊科目屬性主要包括科目名稱、學(xué)時數(shù)和備注等屬性。同時包括教師管理,教師管理包括教師姓名、電話、性別、科目、職稱等一系列基本信息;可對教師進(jìn)行添加、刪除、查詢等基本操作。5.成績管理模塊成績添加代碼實現(xiàn)sqlconnection conn = new sqlconnection(connstring); string sql = insert into scores values( + + textbox1.text + , + textbox2.text + , + textbox3.text + ); try conn.open(); messagebox.show(打開數(shù)據(jù)庫連接成功);
19、 sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(添加記錄成功!);成績刪除代碼實現(xiàn)sqlconnection conn = new sqlconnection(connstring); dialogresult ret = messagebox.show(確定要刪除嗎?, 刪除, messageboxbuttons.okcancel); if (ret = dialogresult.cancel) return; string sql = delete from scores
20、 where stuno= + textbox1.text; sqlcommand cmd = new sqlcommand(sql, conn); try conn.open(); int rows = cmd.executenonquery(); if (rows = 1) messagebox.show(刪除成功!, 提示, messageboxbuttons.ok, messageboxicon.information);成績查詢代碼實現(xiàn)sql = select * from scores where stuno=+textbox1.text+; da = new sqldataada
21、pter(sql, connstring); ds = new dataset(); da.fill(ds, scores); binds = new bindingsource(ds, scores); datagridview1.datasource = binds;成績管理模塊主要包括成績信息管理功能點擊成績管理模塊下的成績信息瀏覽,進(jìn)入成績信息瀏覽窗體,考慮到美觀和實用性,界面設(shè)置如下圖。用frame控件在窗體中劃定一個可瀏覽成績信息地方,再在frame中添加msflexgrid控件,運行時將在msflexgrid中顯示所有學(xué)生的成績信息。使用toolbar來建立工具條。點擊工具條中的
22、修改、添加和查詢按鈕就可分別進(jìn)入修改成績信息窗體、添加成績信息窗體和查詢成績信息窗體。這三個窗體的界面設(shè)置分別類似于學(xué)籍管理下修改學(xué)籍信息窗體、添加學(xué)籍信息窗體和查詢學(xué)籍信息窗體。成績管理模塊,管理員可對每一個班級的上課科目的學(xué)生成績進(jìn)行添加、刪除、修改、查找和報表輸出等功能,成績屬性有:學(xué)生姓名、所屬班級(來自于系統(tǒng)中保存的班級)、課程名、成績、備注等屬性。6.學(xué)生管理模塊添加學(xué)籍信息功能sqlconnection conn = new sqlconnection(connstring); /memorystream ms; /picturebox1.image.save(ms); /byt
23、e img = ms.toarray(); string sql = insert into student(stuno,stuname,stusex,classno,stubday,stuadress,stupostno,stuphone,studata,sturemarks) values( + textbox1.text + , + textbox2.text + , + textbox3.text + , + textbox4.text + , + datetime.parse(datetimepicker1.text) + , + textbox5.text + , + textbo
24、x6.text + , + textbox7.text + , + datetime.parse(datetimepicker2.text) + , + textbox8.text + ); sqlcommand cmd = new sqlcommand(sql,conn); try conn.open(); messagebox.show(數(shù)據(jù)庫連接成功!); cmd.executenonquery(); messagebox.show(添加記錄成功!); catch (sqlexception ex) messagebox.show(ex.message); 選擇主窗體中學(xué)生管理模塊下的添
25、加學(xué)籍信息,就可進(jìn)入添加學(xué)籍信息的窗體,在該窗體中我們可以對學(xué)生的學(xué)號、姓名、性別、出生日期、班號等學(xué)生的信息進(jìn)行添加。設(shè)計時我盡可能設(shè)想各種邊界條件,如記錄為空,輸入為空,輸入出錯等,當(dāng)輸入的信息滿足這些邊界條件時,將會彈出一個提示框提醒用戶,以便用戶能及時地做出修改。添加的信息將全部存儲到數(shù)據(jù)庫中。 在窗體上放置多個文本框和下拉式文本框,用來輸入學(xué)籍信息;兩個按鈕用來確定是否輸入學(xué)籍信息;一個按鈕用來退出窗體;多個標(biāo)簽用來提示文本框中需要輸入的內(nèi)容。在學(xué)生管理窗體下,可對學(xué)生進(jìn)行添加、刪除、修改、查找和報表輸出等功能,學(xué)生屬性有:學(xué)號、姓名、性別、所屬班級(來自于系統(tǒng)中保存的班級)、相片、
26、出生日期和備注等屬性。修改刪除學(xué)生信息sqlconnection conn = new sqlconnection(connstring); dialogresult ret = messagebox.show(確定要刪除嗎?, 刪除, messageboxbuttons.okcancel); if (ret = dialogresult.cancel) return; string sql = delete from student where stuno= + temp; sqlcommand cmd = new sqlcommand(sql, conn); try conn.open()
27、; int rows = cmd.executenonquery(); if (rows = 1) messagebox.show(刪除成功!, 提示, messageboxbuttons.ok, messageboxicon.information); catch (sqlexception ex) messagebox.show(數(shù)據(jù)庫連接失??! + ex.message); 點擊學(xué)籍管理模塊下的修改學(xué)籍信息,就進(jìn)入修改學(xué)籍信息的窗體,在該窗體中我們可以對前面添加的學(xué)籍信息進(jìn)行修改。由于用戶的需求不同,有的是要對學(xué)生的信息做個別的改動,有的是需要刪除該條記錄,所以該窗體同時包括了修改記錄的
28、功能和刪除記錄的功能。又考慮到用戶的誤操作,為了方便,我在該窗體中增添了取消修改的功能,可一次性把輸入文本框的內(nèi)容全部置空。查詢學(xué)籍信息功能/string conn = initial catalog=mazhongyuan;data source =localhost;integrated security=true; sqlconnection connection = new sqlconnection(connstring ); sqldataadapter adapter = new sqldataadapter(select * from student ,connection); datatable table = new datatable(); adap
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國農(nóng)用汽車輪胎產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報告
- 2024-2030年中國共聚尼龍及改性共聚尼龍(PA)行業(yè)競爭風(fēng)險及投資規(guī)劃分析報告
- 2024年二手服裝買賣合同樣本
- 2024年健身服務(wù)合同:會員權(quán)益與健身服務(wù)提供商責(zé)任界定
- 2024年基坑支護(hù)工程:分包商勞務(wù)合同樣本
- 2024年云計算服務(wù)提供商保密合同
- 2024年光纜鋪設(shè)與維護(hù)合同
- 2023年福建省老年醫(yī)院(福建省立醫(yī)院北院)招聘考試真題
- 2024年品牌形象代言人合同
- 2024年廣告發(fā)布合同(新媒體平臺)
- 銀行涉農(nóng)貸款專項統(tǒng)計制度講解
- 八年級上冊道德及法治非選擇題專項訓(xùn)練
- 2023年徐州市國盛控股集團(tuán)有限公司招聘筆試題庫及答案解析
- 機(jī)械課程設(shè)計~二級減速器設(shè)計教程
- 國家開放大學(xué)《傳感器與測試技術(shù)》實驗參考答案
- 工程造價司法鑒定實施方案
- 股骨干骨折的護(hù)理查房課件
- 材料成型工藝基礎(chǔ)習(xí)題答案
- 美術(shù)六年級上冊課件《心中的風(fēng)景》
- 五年級上冊英語課件-Unit7 At weekends第四課時|譯林版(三起) (共13張PPT)
- 形式發(fā)票模板范文
評論
0/150
提交評論