1、C#课程设计学生选课系统论文摘要 1 摘 要 随着在校大学生的不断增加,学生选课也成为学校对学生管理中不可缺少的一部分。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点。本文着重讨论了用ADO.NET技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以
2、很方便的在校园网上进行网上选课。该系统使用C#作为ADO.NET的开发语言,SQLServer2005作为数据库,系统有较高的安全性和较好的性能。 关键词:学生选课、C#、ADO.NET、SQLServer2005 AbstractWiththecontinuousincreaseincollegestudents,studentsofstudentselectiveisbecominganintegralpartofmanagement.Previouselectivemethodistouseartificialmethodstomanagefilearchives,thismanagem
3、entapproachhasmanydisadvantages:lowefficiency,poorsecurity,whileovertime,willgeneratealargenumberofdocumentsanddata,whichforfinding,updatingandmaintenanceofbringalotofdifficulties.Withthecontinuousimprovementofscienceandtechnology,thecomputerhasaccesstoallareasofhumansociety,andplayanincreasinglyimp
4、ortantrole.Asapartofcomputerapplicationsandpracticalmanagementofinformationtechnologyisabsolutelyelective,withmanualmanagementincomparableadvantages.ThispaperfocusedonusingADO.NETtechnologyandSQLServer2005Developerelectivesystem,accesstothedatabasetechnology,andgivesomeofthecorecodecanbeachieved.Thr
5、oughthesystemsothatstudentscaneasilyonlineOnlineCourseoncampus.TheSystem C# as the ADO.NET development language,SQL Server2005asadatabase,Systemhasahighersecurityandbetterperformance.IC#astheADO.NETdevelopmentlanguage,SQLServer2005asadatabase.Systemhasahighersecurityandbetterperformance.Inwhichtheda
6、tabaseconnectionstringcanchangeatanytime.Thecodetomakeuseofthestoredprocedureandtominimizethedatabaseconnectionopentimetoimproveperformance.Keywords :Studentelective ,C# , ADO.NET ,SQLServer2005 1 绪论1.1课题背景 以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。学生选课系统是一个针
7、对高校学生选课而开发的学生选课信息管理系统,是为学生选课提供安全、快捷、方便的服务而建立的应用软件。包括数据流程及存储、学生课程设置、选课修改及删除等。还有较为先进的学生选课系统增加了学生成绩查询这一个功能,使学生能够方便快捷地查询成绩,系统可以使学生更方便的选课。实现全校学生教师选课查询功能。由于学生上课情况复杂,可以实现信息修改,及时调整学生的基本情况。1.2系统设计目的与意义 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如
8、:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情,学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。1.3 系统开发的目标 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。 2系统相关技术介绍2.1 C#技术简介要了解C#,首先要了解
9、Microsoft.NET FrmeWork。Microsoft.NET FrameWork是微软公司提出的新一代软件开发模型,C#语言是.NET FrameWork中新一代的开发工具。C#语言是一种现代的,面向对象的语言,它简化了C+语言在类、命名控件、方法重载和异常处理等方面的操作,摒弃了C+的复杂性,更易使用。它使用组件编程,在这方面和VB类似。在动态查阅、中间代码技术、参数传递、交叉语言处理、面向对象方面有自己的特点。另外,由于C#中取消了指针的功能,这样可以有效防止病毒程序利用非法指针访问私有成员,也能避免指针的误操作产生的错误。因此,其在安全性方面也有了很大的提高。2.2 SQL技
10、术2.2.1 数据库的基本概念SQL(Structured Query Languge)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言包括:数据定义语言、数据操作语言、数据查询语言、数据控制语言四部分。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所有具有完全不同底层结构的不同数据库系统,都可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有
11、极大的灵活性和强大的功能。2.2.2 本系统中数据库的访问本系统的数据库访问过程实现主要通过六个步骤:(1)建立数据库表,表中存储相应数据。(2)使用SqlConnection或OleDbConnection类建立数据库应用程序和数据库连接对象。(3)从数据库指定表中取出感兴趣的记录。(4)从数据库指定表中取出的感兴趣记录组成一个新表,填充到DataSet类对象中,可填充多个表,并可在DataSet类对象中指定表和表的关系。取出所感兴趣的记录后,断开数据库连接。(5)用支持数据库绑定控件(例如DataGrid控件)显示DataSet类对象中的数据,供用户浏览、查询和修改。(6)及时更新Data
12、Set中内容,并把修改的数据存回源数据库。 3 系统分析3.1 需求分析3.1.1可行性分析经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运Microsoft Visual Studio 2008软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发使用数据库,只需考虑安装SQL sever数据库的问题,在技术上要求并不高,因此本系统在技术上是可行的。运行可行性: 本系统是一个学生选课系统,所耗费的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是
13、可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。3.1.2 系统性能需求实用性:为学生选课提供方便,可以有效的管理学生选课。先进性:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。操作简单:本系统应该适用于不同水平的使用者,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。适应性:应该能广泛应用于不同类型的大、中、小学院校,系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得
14、以应用。 代码可读性好:文中的代码将尽可能简洁,易懂。 3.2 系统流程图设计 条 件 为 假 类型 图3.2.1 系统流程图3.3数据存储分析:实体联系图(E-R) 图3.3.1 学生实体联系图 图3.3.2 课表实体联系图 图3.3.3 选课表实体联系图 图3.3.4 登录表实体联系图4 系统总体设计4.1 系统总体功能层次图 图4.4.1 总体功能图4.2 系统功能模块设计本系统需要完成的功能主要有:(1)有关学生信息的输入,包括输入学生基本信息、所选课程。(2)学生信息的查询,包括查询学生基本信息、已学课程。(3)学生信息的修改、删除。(4)课程管理信息的添加、修改、删除和浏览等。(5
15、)学生选课管理信息的查询、添加、修改、删除。(6)学生实现选择课程和退选课程的功能。(7)教师实现查询自己课程被选择的情况。 4.3 数据库设计课程列表登录表学生信息表学生选课表4.4 部分源代码的设计登录窗体代码public partial class login : Form public login() InitializeComponent(); private void login_Load(object sender, EventArgs e) comboBox1.Items.Add(学生); comboBox1.Items.Add(教师); comboBox1.Items.Add
16、(管理员); comboBox1.SelectedIndex = 0; private void button1_Click(object sender, EventArgs e) sqlconnection get = new sqlconnection(); if (textBox1 .Text = |textBox2 .Text = ) MessageBox.Show(请输入用户名和密码, 提示); else SqlConnection con = new SqlConnection(get.getstring(); string sql; if (comboBox1.Text = 学生
17、) sql = select * from login where 用户名= + textBox1 .Text + and 密码= + textBox2.Text + and 类型=+comboBox1 .Text +;SqlCommand cmd = new SqlCommand(sql, con); con.Open(); if (cmd.ExecuteScalar() != null) this.Visible = false; student s = new student (); s.Show(); else MessageBox.Show(请输入正确的用户名或密码, 提示); te
18、xtBox2.Text = ; con.Close(); if (comboBox1.Text = 教师) sql = select * from login where 用户名= + textBox1.Text + and 密码= + textBox2.Text + and 类型= + comboBox1.Text + ;SqlCommand cmd = new SqlCommand(sql, con); con.Open(); if (cmd.ExecuteScalar() != null) this.Visible = false; teacher t = new teacher ();
19、 t.Show(); else MessageBox.Show(请输入正确的用户名或密码, 提示); textBox2.Text = ; con.Close(); if (comboBox1.Text = 管理员) sql = select * from login where 用户名= + textBox1.Text + and 密码= + textBox2.Text + and 类型= + comboBox1.Text + ;SqlCommand cmd = new SqlCommand(sql, con); con.Open(); if (cmd.ExecuteScalar() != n
20、ull) this.Visible = false; manager m = new manager (); m.Show(); else MessageBox.Show(请输入正确的用户名或密码, 提示); textBox2.Text = ; con.Close(); 学生选课代码namespace 学生选课系统1 public partial class student : Form DataSet ds; SqlCommand cmd,cmd1; SqlDataAdapter adp; public student() InitializeComponent(); sqlconnecti
21、on get = new sqlconnection(); string keming,kehao, tname, tnum, keshi; private void student_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) dataGridView1.SelectedRows.ToString(); keming = dataGridView1.CurrentRow.Cells0.Value.ToString(); kehao = dataGridView1.
22、CurrentRow.Cells1.Value.ToString(); tname = dataGridView1.CurrentRow.Cells2.Value.ToString(); tnum = dataGridView1.CurrentRow.Cells3.Value.ToString(); keshi = dataGridView1.CurrentRow.Cells4.Value.ToString(); SqlConnection con = new SqlConnection(get.getstring(); con.Open(); string getstring1 = sele
23、ct * from xuanke where 学号=+textBox1 .Text + and 课程编号=+kehao +; cmd1 = new SqlCommand(getstring1, con); if (cmd1.ExecuteScalar() = null) string getstring = insert into xuanke (课程名称,课程编号,教师姓名,教师编号,课时)values( + keming + , + kehao + , + tname + , + tnum + ,+keshi +) where 学号= + textBox1.Text + ; cmd = n
24、ew SqlCommand(getstring, con); cmd.CommandText = getstring; ; cmd.ExecuteNonQuery(); MessageBox.Show(选课成功!); this.Close(); else MessageBox.Show(你已选择此课程!,提示); private void button2_Click(object sender, EventArgs e) int delRowIndex = dataGridView1.CurrentRow.Index; this.dataGridView1.Rows.RemoveAt(delR
25、owIndex); SqlConnection con = new SqlConnection(get.getstring(); con.Open(); string getstring1 = select * from xuanke where 学号=+textBox1 .Text + and 课程编号=+kehao +; SqlCommand cmd1 = new SqlCommand(getstring1, con); if (cmd1.ExecuteScalar() != null) string getstring = update xuanke set 课程名称=,课程编号=,教师
26、姓名=,教师编号=,课时= where 学号= + textBox1.Text + and 课程编号= + kehao + ; SqlCommand cmd = new SqlCommand(getstring, con); cmd.CommandText = getstring; cmd.ExecuteNonQuery(); MessageBox.Show(删除成功!); con.Close(); else MessageBox.Show(你没有选择此课程!,提示); private void button4_Click(object sender, EventArgs e) if (tex
27、tBox1.Text = ) MessageBox.Show(请输入学号, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); cmd = new SqlCommand(select * from student,con ); if (cmd.ExecuteScalar() != null) ds = new DataSet(); adp = new SqlDataAdapter(SELECT * FROM course, con); adp.Fill(ds, course); dataGri
28、dView1.DataSource = ds.Tablescourse; else MessageBox.Show(信息错误!,提示); con.Close(); private void button3_Click(object sender, EventArgs e) this.Close(); 管理员管理课程代码namespace 学生选课系统1 public partial class mgcourse : Form SqlDataAdapter adp; DataSet ds; SqlCommand cmd, cmd1; public mgcourse() InitializeCom
29、ponent(); sqlconnection get = new sqlconnection(); string km, kh,tname, tnum,ks; private void mgcumrse_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) dataGridView1.SelectedRows.ToString(); km = dataGridView1.CurrentRow.Cells0.Value.ToString(); kh = dataGridView1.CurrentRow.Cells1.Value.ToString(); tname = dataGridView1.CurrentRow.Cells2.Value.ToStr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1