《學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 課程設(shè)計(jì)報(bào)告課程名稱 Visual C#.Net 程序設(shè)計(jì)教程 項(xiàng)目名稱 學(xué)生成績(jī)管理系統(tǒng) 班級(jí)與班級(jí)代碼 09信管一班 實(shí)驗(yàn)室名稱(或課室) S-403 專 業(yè) 信息管理與信息系統(tǒng) 任課教師 朱若磊 學(xué) 號(hào): 09251101121 姓 名: 李建波 提交日期: 2012 年 6 月 28 日 廣東商學(xué)院教務(wù)處 制姓名 李建波 報(bào)告成績(jī) 評(píng)語(yǔ): 指導(dǎo)教師(簽名) 年 月 日說(shuō)明:指導(dǎo)教師評(píng)分后,實(shí)驗(yàn)報(bào)告交院(系)辦公室保存。.NET程序設(shè)計(jì)開(kāi)發(fā)課程設(shè)計(jì)項(xiàng)目任務(wù):(本人)一、項(xiàng)目名稱學(xué)生成績(jī)管理系統(tǒng)二、項(xiàng)目背景 在21世紀(jì)的科技時(shí)代,科學(xué)技術(shù)突飛猛進(jìn),計(jì)算機(jī)已經(jīng)不僅是在科技上應(yīng)用,而且在生活
2、中也是同樣得到了廣泛在應(yīng)用。如今,不管是小學(xué),初中,高中,甚至是很多大學(xué)生的學(xué)生成績(jī)管理基本上是靠人工進(jìn)行管理,但隨著時(shí)間的變化,學(xué)校規(guī)模的擴(kuò)大,有關(guān)學(xué)生成績(jī)管理工作和所涉及到的數(shù)據(jù)量越來(lái)越大越來(lái)越多,大多數(shù)學(xué)校不得不靠增加人力,物力,財(cái)力來(lái)進(jìn)行學(xué)生成績(jī)管理。但是人工管理成績(jī)檔案具有效率低,查找麻煩,可靠性不高,保密性低等因素。因此開(kāi)發(fā)出一個(gè)不僅僅是適用于大中專院校以及其它高校通用的學(xué)生成績(jī)管理系統(tǒng)是必要的。 本團(tuán)隊(duì)就此開(kāi)發(fā)一個(gè)學(xué)生成績(jī)管理系統(tǒng),采用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行管理,以進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平,為廣大教師和學(xué)生提高工作效率,實(shí)現(xiàn)學(xué)生成績(jī)信息管理工作流程的系統(tǒng)化,規(guī)范化和自動(dòng)化。
3、三、開(kāi)發(fā)環(huán)境分析使用Microsoft Visual Studio 2005開(kāi)發(fā)、使用C#.NET語(yǔ)言編程,后臺(tái)數(shù)據(jù)庫(kù)選擇SQL Server 2005。四、項(xiàng)目要求設(shè)計(jì)一個(gè)比較完善的學(xué)生選課管理系統(tǒng),其中要求后臺(tái)的數(shù)據(jù)庫(kù)利用SQL Server來(lái)完成(可以使用.NET自帶的SQL Express),功能具體要求如下:(1)登錄功能;(2)學(xué)生信息管理功能;(3)課程信息管理功能;(4)學(xué)生成績(jī)管理功能;(5)實(shí)現(xiàn)將查詢結(jié)果保存到硬盤(pán)的功能;(6)修改相關(guān)數(shù)據(jù)庫(kù)結(jié)構(gòu)并據(jù)此實(shí)現(xiàn)基本選課功能(7)任選(1)(4)項(xiàng)中的一項(xiàng),將其利用ASP.NET來(lái)實(shí)現(xiàn);設(shè)計(jì)項(xiàng)目成立與項(xiàng)目實(shí)施一、 項(xiàng)目組長(zhǎng)組長(zhǎng):李
4、建波二、 設(shè)計(jì)項(xiàng)目分工小組成員:彭健鋒,陳志明,張?zhí)?,周敏?qiáng),成思謀,李建波。小組分工情況如下:一、項(xiàng)目組長(zhǎng):組長(zhǎng):李建波二、設(shè)計(jì)項(xiàng)目分工:小組成員:彭健鋒,陳志明,張?zhí)?,周敏?qiáng),成思謀,李建波。小組分工情況如下:1、張?zhí)帲贺?fù)責(zé)登錄功能:Login.cs;并將其利用ASP.NET來(lái)實(shí)現(xiàn);2、彭健鋒:負(fù)責(zé)學(xué)生信息添加(StudentMsgFrm.cs)、管理功能(StudentFrm.cs);3、陳志明:負(fù)責(zé)課程信息添加(CourseMsgFrm.cs)和管理功能(CourseFrm.cs);4、成思謀:負(fù)責(zé)學(xué)生成績(jī)管理功能(ScoreMsgFrm.cs);5、周敏強(qiáng):實(shí)現(xiàn)將查詢結(jié)果保存到
5、硬盤(pán)的功能(select)(統(tǒng)一數(shù)據(jù)庫(kù));6、李建波:實(shí)現(xiàn)學(xué)生基本選課功能(整合全部功能)(selectcourse)。三、 項(xiàng)目實(shí)施過(guò)程:1、數(shù)據(jù)庫(kù)設(shè)計(jì)和連接是使用SQL Server 2005設(shè)計(jì)的,在.Net用connectionString連接數(shù)據(jù)庫(kù)。關(guān)鍵代碼如下: InitializeComponent(); connString = Data Source=local;Initial Catalog=MySchool;Integrated Security=True; connection = new SqlConnection(connString); catch (Except
6、ion ex) MessageBox.Show(ex.Message,數(shù)據(jù)庫(kù)操作出錯(cuò)了!, MessageBoxButtons.OK,MessageBoxIcon.Exclamation); 2、實(shí)現(xiàn)學(xué)生基本選課功能(整合全部功能),新建一個(gè)selectcourse.cs窗體,在窗體添加3個(gè)label控件,1個(gè)listbox控件,1個(gè)Richtxtbox和2個(gè)Button,設(shè)置兩個(gè)數(shù)據(jù)源MySchoolDataSet1,MySchoolDataSet22.1按下列要求修改屬性項(xiàng):控件屬性屬性設(shè)置控件屬性屬性設(shè)置Label1NameLabelListboxNameCdoclassText名字La
7、bel2NameLabel2RichtxtboxNameRichtxtboxText信息如下:Label3NameLabel3Button1NameButton1TextText選他了MySchoolDataSetButton2NameButton2Text退出如下圖:2.1圖:2.1界面設(shè)計(jì)2.4設(shè)計(jì)的關(guān)鍵代碼:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using Syste
8、m.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ù)需要移動(dòng)或移除它。 this.courseMs
9、gTableAdapter1.Fill(this.mySchoolDataSet2.CourseMsg); / TODO: 這行代碼將數(shù)據(jù)加載到表“mySchoolDataSet.CourseMsg”中。您可以根據(jù)需要移動(dòng)或移除它。 this.courseMsgTableAdapter.Fill(this.mySchoolDataSet.CourseMsg); string connString = Data Source=(local);Initial Catalog=MySchool;Integrated Security=True; SqlConnection connection =
10、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 = messa
11、ge; 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); connec
12、tion.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; Sql
13、Connection 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 Cours
14、eName=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 comm
15、and4 = 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 = 學(xué)分+n
16、um2+理論課時(shí):+num3+實(shí)驗(yàn)課時(shí)+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(
17、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ù)庫(kù)設(shè)計(jì)1 ER圖E-r圖,如上圖2 數(shù)據(jù)庫(kù)表學(xué)生課程關(guān)系圖User表結(jié)構(gòu)列名數(shù)據(jù)類型說(shuō)明UserNamenvarchar(50)管理員用戶名,不允許為空,主鍵passwordnvarchar(50)管理員密碼,不允許為空St
18、udentMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說(shuō)明StudentNoint(4)學(xué)號(hào),主鍵,標(biāo)識(shí)列StudentNamenvarchar(50)學(xué)生姓名,不允許為空sexnchar(10)性別departmentnvarchar(50)院系specialitynvarchar(50)專業(yè)Hobbynvarchar(200)興趣愛(ài)好passwordnvarchar(8)學(xué)生登錄密碼,默認(rèn)值1111enrollbit(1)學(xué)生登錄狀態(tài),默認(rèn)值為0CourserMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說(shuō)明CouresIdint(4)課程編號(hào),主鍵,標(biāo)識(shí)列CourseNamenvarchar(50)課程名稱,不允許為空Cours
19、eClassnvarchar(50)課程類別Requiredbit(1)是否必修Creditint(4)學(xué)分PrelectionCreditint(4)理論學(xué)時(shí)ExperimentCreditint(4)實(shí)驗(yàn)學(xué)時(shí)ScoreMsg表結(jié)構(gòu)列名數(shù)據(jù)類型說(shuō)明StudentNoint(4)學(xué)號(hào),主鍵,外鍵CourseIdint(4)課程編號(hào),主鍵Scoreint(4)成績(jī)User表數(shù)據(jù)StudentMsg表數(shù)據(jù)CourseMsg表數(shù)據(jù)ScoreMsg表數(shù)據(jù)2、結(jié)果演示:學(xué)生登錄圖4.2.1學(xué)生應(yīng)用界面 圖4.2.2學(xué)生選課信息:圖4.2.3選好課程后,點(diǎn)擊“選它了”按鈕,選課成功。信息記錄到表上。選課五、課程設(shè)計(jì)總結(jié): 本次實(shí)驗(yàn)是要團(tuán)隊(duì)建立一個(gè)學(xué)生成績(jī)管理系統(tǒng),以實(shí)現(xiàn)快捷,高效,準(zhǔn)確保存學(xué)生的基本信息,課程信息,成績(jī)信息,還有實(shí)現(xiàn)選課功能。