學生成績管理系統(tǒng) 課程設(shè)計
課程設(shè)計報告課程名稱 Visual C#.Net 程序設(shè)計教程 項目名稱 學生成績管理系統(tǒng) 班級與班級代碼 09信管一班 實驗室名稱(或課室) S-403 專 業(yè) 信息管理與信息系統(tǒng) 任課教師 朱若磊 學 號: 09251101121 姓 名: 李建波 提交日期: 2012 年 6 月 28 日 廣東商學院教務(wù)處 制姓名 李建波 報告成績 評語: 指導教師(簽名) 年 月 日說明:指導教師評分后,實驗報告交院(系)辦公室保存。.NET程序設(shè)計開發(fā)課程設(shè)計項目任務(wù):(本人)一、項目名稱學生成績管理系統(tǒng)二、項目背景 在21世紀的科技時代,科學技術(shù)突飛猛進,計算機已經(jīng)不僅是在科技上應(yīng)用,而且在生活中也是同樣得到了廣泛在應(yīng)用。如今,不管是小學,初中,高中,甚至是很多大學生的學生成績管理基本上是靠人工進行管理,但隨著時間的變化,學校規(guī)模的擴大,有關(guān)學生成績管理工作和所涉及到的數(shù)據(jù)量越來越大越來越多,大多數(shù)學校不得不靠增加人力,物力,財力來進行學生成績管理。但是人工管理成績檔案具有效率低,查找麻煩,可靠性不高,保密性低等因素。因此開發(fā)出一個不僅僅是適用于大中專院校以及其它高校通用的學生成績管理系統(tǒng)是必要的。 本團隊就此開發(fā)一個學生成績管理系統(tǒng),采用計算機對學生成績進行管理,以進一步提高辦學效益和現(xiàn)代化水平,為廣大教師和學生提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化,規(guī)范化和自動化。 三、開發(fā)環(huán)境分析使用Microsoft Visual Studio 2005開發(fā)、使用C#.NET語言編程,后臺數(shù)據(jù)庫選擇SQL Server 2005。四、項目要求設(shè)計一個比較完善的學生選課管理系統(tǒng),其中要求后臺的數(shù)據(jù)庫利用SQL Server來完成(可以使用.NET自帶的SQL Express),功能具體要求如下:(1)登錄功能;(2)學生信息管理功能;(3)課程信息管理功能;(4)學生成績管理功能;(5)實現(xiàn)將查詢結(jié)果保存到硬盤的功能;(6)修改相關(guān)數(shù)據(jù)庫結(jié)構(gòu)并據(jù)此實現(xiàn)基本選課功能(7)任選(1)(4)項中的一項,將其利用ASP.NET來實現(xiàn);設(shè)計項目成立與項目實施一、 項目組長組長:李建波二、 設(shè)計項目分工小組成員:彭健鋒,陳志明,張?zhí)?,周敏強,成思謀,李建波。小組分工情況如下:一、項目組長:組長:李建波二、設(shè)計項目分工:小組成員:彭健鋒,陳志明,張?zhí)?,周敏強,成思謀,李建波。小組分工情況如下:1、張?zhí)帲贺撠煹卿浌δ埽篖ogin.cs;并將其利用ASP.NET來實現(xiàn);2、彭健鋒:負責學生信息添加(StudentMsgFrm.cs)、管理功能(StudentFrm.cs);3、陳志明:負責課程信息添加(CourseMsgFrm.cs)和管理功能(CourseFrm.cs);4、成思謀:負責學生成績管理功能(ScoreMsgFrm.cs);5、周敏強:實現(xiàn)將查詢結(jié)果保存到硬盤的功能(select)(統(tǒng)一數(shù)據(jù)庫);6、李建波:實現(xiàn)學生基本選課功能(整合全部功能)(selectcourse)。三、 項目實施過程:1、數(shù)據(jù)庫設(shè)計和連接是使用SQL Server 2005設(shè)計的,在.Net用connectionString連接數(shù)據(jù)庫。關(guān)鍵代碼如下: InitializeComponent(); connString = "Data Source=local;Initial Catalog=MySchool;Integrated Security=True" connection = new SqlConnection(connString); catch (Exception ex) MessageBox.Show(ex.Message,"數(shù)據(jù)庫操作出錯了!", MessageBoxButtons.OK,MessageBoxIcon.Exclamation); 2、實現(xiàn)學生基本選課功能(整合全部功能),新建一個selectcourse.cs窗體,在窗體添加3個label控件,1個listbox控件,1個Richtxtbox和2個Button,設(shè)置兩個數(shù)據(jù)源MySchoolDataSet1,MySchoolDataSet22.1按下列要求修改屬性項:控件屬性屬性設(shè)置控件屬性屬性設(shè)置Label1NameLabelListboxNameCdoclassText名字Label2NameLabel2RichtxtboxNameRichtxtboxText信息如下:Label3NameLabel3Button1NameButton1TextText選他了MySchoolDataSetButton2NameButton2Text退出如下圖:2.1圖:2.1界面設(shè)計2.4設(shè)計的關(guān)鍵代碼:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using MySchool;using System.Data.SqlClient;namespace MySchool public partial class selectcourse : Form public selectcourse() InitializeComponent(); private void selectcourse_Load(object sender, EventArgs e) / TODO: 這行代碼將數(shù)據(jù)加載到表“mySchoolDataSet2.CourseMsg”中。您可以根據(jù)需要移動或移除它。 this.courseMsgTableAdapter1.Fill(this.mySchoolDataSet2.CourseMsg); / TODO: 這行代碼將數(shù)據(jù)加載到表“mySchoolDataSet.CourseMsg”中。您可以根據(jù)需要移動或移除它。 this.courseMsgTableAdapter.Fill(this.mySchoolDataSet.CourseMsg); string connString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True" SqlConnection connection = new SqlConnection(connString); string sql = String.Format("select cc from tablea where enroll=1"); connection.Open(); SqlCommand command = new SqlCommand(sql, connection); string num =(string )command.ExecuteScalar(); string message = String.Format("你好! 0先生", num); label3.Text = num; label1.Text = message; connection.Close(); private void aa_Click(object sender, EventArgs e) string connString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True" SqlConnection connection = new SqlConnection(connString); string sql = String.Format("update tablea set enroll=0 where enroll=1"); connection.Open(); SqlCommand command = new SqlCommand(sql, connection); command.ExecuteNonQuery(); this.Close(); private void cboClass_SelectedIndexChanged(object sender, EventArgs e) string kk = cboClass.Text; string connString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True" SqlConnection connection = new SqlConnection(connString); string sql = String.Format("select CourseClass from CourseMsg where CourseName=0",kk); string sql2 = String.Format("select Credit from CourseMsg where CourseName=0", kk); string sql3 = String.Format("select PrelectionCredit from CourseMsg where CourseName=0", kk); string sql4 = String.Format("select ExperimentCredit CourseMsg where CourseName=0", kk); connection.Open(); SqlCommand command = new SqlCommand(sql, connection); SqlCommand command2 = new SqlCommand(sql2, connection); SqlCommand command3= new SqlCommand(sql3, connection); SqlCommand command4 = new SqlCommand(sql3, connection); string num = (string)command.ExecuteScalar(); int num2 = (int)command2.ExecuteScalar(); int num3 = (int)command3.ExecuteScalar(); int num4 = (int)command4.ExecuteScalar(); string message = String.Format("0", num); richTextBox1.Text = message; label2.Text = "學分"+num2+"理論課時:"+num3+"實驗課時"+num4; connection.Close(); private void button1_Click(object sender, EventArgs e) string connString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True" SqlConnection connection = new SqlConnection(connString); string sql = String.Format("INSERT INTO ScoreMsgMe(StudentName,CourseName,Score) VALUES(0,1,2)", label3.Text, cboClass.Text, 0); connection.Open(); SqlCommand command = new SqlCommand(sql, connection); command.ExecuteNonQuery(); 四、 結(jié)果演示: 數(shù)據(jù)庫設(shè)計1 ER圖E-r圖,如上圖2 數(shù)據(jù)庫表學生課程關(guān)系圖User表結(jié)構(gòu)列名數(shù)據(jù)類型說明UserNamenvarchar(50)管理員用戶名,不允許為空,主鍵passwordnvarchar(50)管理員密碼,不允許為空StudentMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說明StudentNoint(4)學號,主鍵,標識列StudentNamenvarchar(50)學生姓名,不允許為空sexnchar(10)性別departmentnvarchar(50)院系specialitynvarchar(50)專業(yè)Hobbynvarchar(200)興趣愛好passwordnvarchar(8)學生登錄密碼,默認值1111enrollbit(1)學生登錄狀態(tài),默認值為0CourserMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說明CouresIdint(4)課程編號,主鍵,標識列CourseNamenvarchar(50)課程名稱,不允許為空CourseClassnvarchar(50)課程類別Requiredbit(1)是否必修Creditint(4)學分PrelectionCreditint(4)理論學時ExperimentCreditint(4)實驗學時ScoreMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說明StudentNoint(4)學號,主鍵,外鍵CourseIdint(4)課程編號,主鍵Scoreint(4)成績User表數(shù)據(jù)StudentMsg表數(shù)據(jù)CourseMsg表數(shù)據(jù)ScoreMsg表數(shù)據(jù)2、結(jié)果演示:學生登錄圖4.2.1學生應(yīng)用界面 圖4.2.2學生選課信息:圖4.2.3選好課程后,點擊“選它了”按鈕,選課成功。信息記錄到表上。選課五、課程設(shè)計總結(jié): 本次實驗是要團隊建立一個學生成績管理系統(tǒng),以實現(xiàn)快捷,高效,準確保存學生的基本信息,課程信息,成績信息,還有實現(xiàn)選課功能。