C#版本學(xué)生信息管理系統(tǒng)方案_第1頁
C#版本學(xué)生信息管理系統(tǒng)方案_第2頁
C#版本學(xué)生信息管理系統(tǒng)方案_第3頁
C#版本學(xué)生信息管理系統(tǒng)方案_第4頁
C#版本學(xué)生信息管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/目錄一、課程設(shè)計目的3二、功能描述3三、系統(tǒng)分析33.1需求分析33.2開發(fā)環(huán)境3四、總體設(shè)計44.1功能構(gòu)成44.2業(yè)務(wù)流程圖4五、數(shù)據(jù)庫設(shè)計55.1需求分析55.2實體E—R圖55.3數(shù)據(jù)表設(shè)計6六、實現(xiàn)過程76.1登錄的實現(xiàn)76.2主界面96.3學(xué)生管理信息界面116.4成績信息管理界面136.5選課信息界面156.6添加學(xué)生信息界面166.7學(xué)生列表界面186.8添加成績界面196.9選課添加界面206.10用戶注冊界面21一、課程設(shè)計目的建立學(xué)生信息管理系統(tǒng),采用計算機對學(xué)生信息進行管理,進一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學(xué)生信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。二、功能描述考勤管理系統(tǒng)由學(xué)生信息管理模塊、選課信息模塊、成績信息模塊和用戶管理模塊四個主要功能模塊構(gòu)成。學(xué)生信息管理模塊主要包括添加學(xué)生、查看學(xué)生信息等操作。、系統(tǒng)選課信息管理模塊主要包括添加課程信息、修改學(xué)分等操作。成績信息模塊主要包括查看學(xué)生的選課成績等操作。用戶管理模塊主要可以用來注冊新用戶,并可以用新用戶來登陸系統(tǒng)。三、系統(tǒng)分析3.1需求分析學(xué)生信息管理系統(tǒng)的用戶是學(xué)校的老師,它可以有效的管理學(xué)生信息情況。管理員可以創(chuàng)建用戶,增加和修改用戶信息以及刪除用戶信息,和對學(xué)校一些學(xué)生信息的編輯等。該系統(tǒng)包括基本學(xué)生基本信息、成績信息管理、選課信息管理等主要模塊。每一個功能模塊都需要針對不同的表來完成相同的數(shù)據(jù)庫操作,即添加記錄,修改記錄,刪除記錄以及查詢顯示記錄信息。具體功能有以下幾個方面。3.2開發(fā)環(huán)境VisualStudio2010是一種可視化的、面向?qū)ο蠛驼{(diào)用事件驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計,可用于開發(fā)Windows環(huán)境下的種類應(yīng)用程序。它簡單易學(xué)、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎(chǔ)。在VisualS2010環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具,使用Windows內(nèi)部的應(yīng)用程序接口<API>函數(shù),以及動態(tài)鏈接庫<DLL>、動態(tài)數(shù)據(jù)交換<DDE>、對象的鏈接與嵌入<OLE>、開放式數(shù)據(jù)訪問<ODBC>等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。四、總體設(shè)計4.1軟件功能構(gòu)成學(xué)生信息管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由學(xué)生信息管理模塊、課程信息管理模塊、成績信息管理模塊等模塊組成,允許授予權(quán)限的用戶操作相應(yīng)的菜單,從而實現(xiàn)數(shù)據(jù)信息的修改,查詢,打印,統(tǒng)計等功能??记诠芾硐到y(tǒng)由學(xué)生信息管理模塊、選課信息模塊、成績信息模塊和用戶管理模塊四個主要功能模塊構(gòu)成。學(xué)生信息管理模塊主要包括添加學(xué)生、查看學(xué)生信息等操作。、系統(tǒng)選課信息管理模塊主要包括添加課程信息、修改學(xué)分等操作。成績信息模塊主要包括查看學(xué)生的選課成績等操作。用戶管理模塊主要可以用來注冊新用戶,并可以用新用戶來登陸系統(tǒng)。4.2業(yè)務(wù)流程圖學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)系統(tǒng)管理專業(yè)設(shè)置班級管理學(xué)生管理課程管理添加功能修改功能刪除功能成績管理用戶操作五、數(shù)據(jù)庫設(shè)計5.1數(shù)據(jù)庫需求分析在設(shè)計數(shù)據(jù)庫結(jié)構(gòu)時,以及可能地滿足用戶所提出的各項要求,同時又避免同時又要避免冗余數(shù)據(jù)產(chǎn)生。由于在學(xué)生信息管理系統(tǒng)中,需要采集大量的信息,包括學(xué)生信息,班級信息,課程信息,成績信息,專業(yè)信息等,如果不能夠合理有效地組織數(shù)據(jù)表的結(jié)構(gòu),以及合理設(shè)置每張表所包含的字段,那么后期進行的數(shù)據(jù)的整理以及匯總時,就會增加編程人員的開發(fā)難度,并造成成績效益的大幅度下降。根據(jù)學(xué)生基本信息以及其他相關(guān)信息的特點,歸納出以下規(guī)律:1.一個專業(yè)包括多個班級;2.一個班在一個學(xué)期內(nèi)開設(shè)多門課程;3.每一門課程記錄每一名學(xué)生的成績;4.一種角色對應(yīng)一個和多個用戶;5.每一個學(xué)生可以貸款多項費用;6.一個班級對應(yīng)一個入學(xué)年份及學(xué)制;7.一個班級包含多名學(xué)生;8.每一個學(xué)生都有不同的學(xué)號;9.每一個學(xué)生可以受獎勵或處罰多次;10.每一個學(xué)生可以獲獎學(xué)金多次;5.2信息實體E—R圖學(xué)號學(xué)號所在系別所在系別姓名姓名學(xué)生學(xué)生年齡性別年齡性別學(xué)生信息實體E—R圖課程課程性別年齡性別年齡姓名姓名5.2.2課程信息實體E—R圖學(xué)生專業(yè)包含班級包含1N1N學(xué)生專業(yè)包含班級包含1擁有擁有N課程課程5.2.3學(xué)生信息管理系統(tǒng)總E-R圖5.3數(shù)據(jù)表設(shè)計學(xué)生信息管理數(shù)據(jù)庫采用MicrosoftSQLSERVER2010,在使用數(shù)據(jù)庫過程中,接觸最多的就是數(shù)據(jù)庫中的表,表是數(shù)據(jù)存儲的地方,是數(shù)據(jù)庫最重要的部分。這個系統(tǒng)數(shù)據(jù)庫表由4個表構(gòu)成,具體如下。表student主鍵是sno字段數(shù)據(jù)類型長度是否允許空值字段描述snointN學(xué)生學(xué)號snamechar10N學(xué)生姓名ssexchar2Y學(xué)生性別sageintY學(xué)生年齡sdeptchar10Y所在系別表course主鍵是sno字段數(shù)據(jù)類型長度是否允許空值字段描述cnointN課程編號cnamechar10Y課程名稱cpnochar10Y先修課程編號creditintY學(xué)分表Sc主鍵是sno字段類型長度是否允許空值字段描述snointN學(xué)號cnointY課程號snamechar10Y姓名cnamechar10Y課程名稱gradeintY成績表admin主鍵是用戶名字段類型長度是否允許為空值字段描述用戶名char20N密碼char20N實現(xiàn)過程6.1系統(tǒng)登錄功能的實現(xiàn)用戶要使用本系統(tǒng),首先必須通過系統(tǒng)的身份認(rèn)證。如果用戶名錯誤或者不存在,密碼錯誤3次后,對話框自動關(guān)閉。具體代碼如下:namespace學(xué)生選課{publicpartialclassForm1:Form{publicForm1<>{InitializeComponent<>;}privatevoidbutton2_Click<objectsender,EventArgse>{Application.Exit<>;}privatevoidtextBox3_TextChanged<objectsender,EventArgse>{MessageBox.Show<"學(xué)生信息管理系統(tǒng)">;}publicstaticFormfm=null;privatestaticintErrorTimes=0;privatevoidbutton1_Click<objectsender,EventArgse>{if<textBox1.Text==""||textBox2.Text=="">{MessageBox.Show<"提示:請輸入用戶名和密碼!","警告">;}SqlConnectionconn=newSqlConnection<"Server=TC-PC;IntegratedSecurity=true;DataBase=學(xué)生">;conn.Open<>;SqlCommandcmd=newSqlCommand<"select*fromadminwhere用戶名='"+textBox1.Text.Trim<>+"'and密碼='"+textBox2.Text.Trim<>+"'",conn>;SqlDataReadersdr=cmd.ExecuteReader<>;sdr.Read<>;if<sdr.HasRows>{MessageBox.Show<"登錄成功!","提示">;Form2fm=newForm2<>;fm.Show<>;this.Hide<>;}else{ErrorTimes++;MessageBox.Show<"用戶名或密碼不正確!您還有"+<3-ErrorTimes>+"次輸入密碼的機會,請重新輸入!如果超過3次,系統(tǒng)將自動關(guān)閉">;if<ErrorTimes>=3>{ErrorTimes=0;conn.Close<>;}}}}}6.2主界面具體代碼如下:namespace學(xué)生選課{publicpartialclassForm2:Form{publicForm2<>{InitializeComponent<>;}publicstaticFormfr=null;privatevoidbutton1_Click<objectsender,EventArgse>{if<fr==null>{Form3fr2=newForm3<>;fr2.Show<>;MessageBox.Show<"您已成功進入學(xué)生管理!">;}else{fr.TopLevel=true;}}publicstaticFormfw=null;privatevoidbutton2_Click<objectsender,EventArgse>{if<fw==null>{Form4fw3=newForm4<>;fw3.Show<>;MessageBox.Show<"您已成功進入成績信息!">;}else{fw.TopLevel=true;}}publicstaticFormfe=null;privatevoidbutton3_Click<objectsender,EventArgse>{if<fe==null>{Form5fe2=newForm5<>;fe2.Show<>;MessageBox.Show<"您已成功進入選課信息!">;}else{fe.TopLevel=true;}}publicstaticFormfu=null;privatevoidbutton4_Click<objectsender,EventArgse>{if<fu==null>{Form10fr2=newForm10<>;fr2.Show<>;MessageBox.Show<"您已成功進入用戶管理!">;}else{fr.TopLevel=true;}}privatevoidbutton5_Click<objectsender,EventArgse>{this.Close<>;}privatevoidForm2_Load<objectsender,EventArgse>{}}}6.3學(xué)生管理信息界面具體代碼如下:namespace學(xué)生選課{publicpartialclassForm3:Form{publicForm3<>{InitializeComponent<>;}privatevoidbutton4_Click<objectsender,EventArgse>{}privatevoid添加學(xué)生ToolStripMenuItem_Click<objectsender,EventArgse>{Form6f2=newForm6<>;f2.MdiParent=this;f2.StartPosition=FormStartPosition.CenterScreen;f2.Show<>;}privatevoid學(xué)生列表ToolStripMenuItem_Click<objectsender,EventArgse>{Form7f2=newForm7<>;f2.MdiParent=this;f2.StartPosition=FormStartPosition.CenterScreen;f2.Show<>;}privatevoid退出ToolStripMenuItem_Click<objectsender,EventArgse>{this.Close<>;}privatevoidForm3_Load<objectsender,EventArgse>{}}}6.4成績信息管理界面代碼具體如下:namespace學(xué)生選課{publicpartialclassForm4:Form{publicForm4<>{InitializeComponent<>;}stringstrcon="Server=TC-PC;IntegratedSecurity=true;DataBase=學(xué)生";SqlConnectioncon;SqlDataAdapterda;DataSetds;privatevoidForm4_Load<objectsender,EventArgse>{//TODO:這行代碼將數(shù)據(jù)加載到表"學(xué)生DataSet.sc"中。您可以根據(jù)需要移動或刪除它。this.scTableAdapter.Fill<this.學(xué)生DataSet1.sc>;con=newSqlConnection<strcon>;da=newSqlDataAdapter<"select*fromsc",con>;ds=newDataSet<>;da.Fill<ds>;dataGridView1.DataSource=ds.Tables[0];}privatevoidbutton1_Click<objectsender,EventArgse>{Form8f2=newForm8<>;f2.Show<>;}privatevoidbutton2_Click<objectsender,EventArgse>{ds.Tables.Clear<>;con=newSqlConnection<strcon>;da=newSqlDataAdapter<"select*fromsc",con>;stringsql="updatescsetgrade=@gradewheresno=@sno";da.UpdateCommand=newSqlCommand<sql,con>;da.UpdateCommand.Parameters.Add<"@grade",SqlDbType.Int,8,"grade">;SqlParameterprams_ID=da.UpdateCommand.Parameters.Add<"@sno",SqlDbType.Int>;prams_ID.SourceColumn="sno";prams_ID.SourceVersion=DataRowVersion.Original;da.Fill<ds>;for<inti=0;i<ds.Tables[0].Rows.Count;i++>{intx=Convert.ToInt32<dataGridView1.Rows[i].Cells[4].Value>;ds.Tables[0].Rows[i]["grade"]=x;}da.Update<ds>;dataGridView1.DataSource=ds.Tables[0];MessageBox.Show<"您已成功修改數(shù)據(jù)!">;}privatevoidbutton3_Click<objectsender,EventArgse>{this.Close<>;}privatevoiddataGridView1_CellContentClick<objectsender,DataGridViewCellEventArgse>{}privatevoidbutton4_Click<objectsender,EventArgse>{stringstr=dataGridView1.SelectedCells[0].Value.ToString<>;stringsql="deletefromscwheresno='"+str+"'";stringconsqlserver="Server=TC-PC;IntegratedSecurity=true;DataBase=學(xué)生";SqlConnectioncon=newSqlConnection<consqlserver>;con.Open<>;SqlCommandcmd=newSqlCommand<>;cmd.CommandText=sql;cmd.Connection=con;cmd.ExecuteNonQuery<>;con.Close<>;MessageBox.Show<"您已成功刪除數(shù)據(jù)!">;}}}6.5選課信息界面具體代碼如下:namespace學(xué)生選課{publicpartialclassForm5:Form{publicForm5<>{InitializeComponent<>;}stringstrcon="Server=TC-PC;IntegratedSecurity=true;DataBase=學(xué)生";SqlConnectioncon;SqlDataAdapterda;DataSetds;privatevoidForm5_Load<objectsender,EventArgse>{//TODO:這行代碼將數(shù)據(jù)加載到表"學(xué)生DataSet.course"中。您可以根據(jù)需要移動或刪除它。this.courseTableAdapter.Fill<this.學(xué)生DataSet.course>;con=newSqlConnection<strcon>;da=newSqlDataAdapter<"select*fromcourse",con>;ds=newDataSet<>;da.Fill<ds>;dataGridView1.DataSource=ds.Tables[0];}privatevoiddataGridView1_CellContentClick<objectsender,DataGridViewCellEventArgse>{}privatevoid添加_Click<objectsender,EventArgse>{Form9f2=newForm9<>;f2.Show<>;}privatevoidlabel1_Click<objectsender,EventArgse>{}privatevoidbutton1_Click<objectsender,EventArgse>{this.Close<>;}privatevoidbutton3_Click<objectsender,EventArgse>{stringstr=dataGridView1.SelectedCells[0].Value.ToString<>;stringsql="deletefromcoursewherecno='"+str+"'";stringconsqlserver="Server=TC-PC;IntegratedSecurity=true;DataBase=學(xué)生";SqlConnectioncon=newSqlConnection<consqlserver>;con.Open<>;SqlCommandcmd=newSqlCommand<>;cmd.CommandText=sql;cmd.Connection=con;cmd.ExecuteNonQuery<>;con.Close<>;MessageBox.Show<"您已成功刪除數(shù)據(jù)!">;da.Update<ds>;dataGridView1.DataSource=ds.Tables[0];}}}6.6添加學(xué)生信息界面具體代碼如下namespace學(xué)生選課{publicpartialclassForm6:Form{publicForm6<>{InitializeComponent<>;}privatevoidbutton1_Click<objectsender,EventArgse>{SqlConnectionconn=newSqlConnection<"server=TC-PC;database=學(xué)生;integratedSecurity=true">;stringsql="insertintostudent<sid,sname,ssex,sage,sdept>values<'"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"'>";conn.Open<>;SqlCommandcomm=newSqlCommand<sql,conn>;if<conn.State==ConnectionState.Closed>{conn.Open<>;}if<Convert.ToInt32<comm.ExecuteNonQuery<>>>0>{label6.Text="成功!";}else{label6.Text="失敗!";}}privatevoidbutton2_Click<objectsender,EventArgse>{this.Close<>;}privatevoidForm6_Load<objectsender,EventArgse>{}}}6.7學(xué)生列表界面代碼具體如下usingSystem.Data.SqlClient;namespace學(xué)生選課{publicpartialclassForm7:Form{publicForm7<>{InitializeComponent<>;}privatevoidForm7_Load<objectsender,EventArgse>{//TODO:這行代碼將數(shù)據(jù)加載到表"學(xué)生DataSet.student"中。您可以根據(jù)需要移動或刪除它。this.studentTableAdapter.Fill<this.學(xué)生DataSet.student>;this.StartPosition=FormStartPosition.CenterScreen;}}}6.8添加成績界面具體代碼如下:usingSystem.Data.SqlClient;namespace學(xué)生選課{publicpartialclassForm8:Form{publicForm8<>{InitializeComponent<>;}privatevoidbutton1_Click<objectsender,EventArgse>{SqlConnectionconn=newSqlConnection<"server=TC-PC;database=學(xué)生;integratedSecurity=true">;stringsql="insertintosc<sno,sname,cno,cname,grade>values<'"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"'>";conn.Open<>;SqlCommandcomm=newSqlCommand<sql,conn>;if<conn.State==ConnectionState.Closed>{conn.Open<>;}if<Convert.ToInt32<comm.ExecuteNonQuery<>>>0>{label6.Text="成功!";}else{label6.Text="失敗!";}}privatevoidbutton2_Click<objectsender,EventArgse>{this.Close<>;}privatevoidForm8_Load<objectsender,EventArgse>{}}}6.9選課添加界面具體代碼如下:privatevoidbutton1_Click<objectsender,EventArgse>{SqlConnectionconn=newSqlConnection<"server=TC-PC;database=學(xué)生;integratedSecurity=true">;stringsql="insertintocourse<cno,cname,cpno,credit>values<'"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"'>";conn.Open<>;SqlCommandcomm=newSqlCommand<sql,conn>;if<conn.State==ConnectionState.Closed>{conn.Open<>;}if<Convert.ToInt32<comm.ExecuteNonQuery<>>>0>

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論