




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要1Abstract21 绪论41.1课题背景41.2系统设计目的与意义42系统相关技术介绍52.1 C#技术简介52.2 SQL技术62.2.1 数据库的基本概念62.2.2 本系统中数据库的访问63 系统分析73.1 需求分析73.1.1可行性分析73.1.2 系统性能需求83.2 系统流程图设计93.3数据存储分析:实体联系图(E-R)104 系统总体设计124.1 系统总体功能层次图124.2 系统功能模块设计124.3 数据库设计134.4 部分源代码的设计145 系统的具体实现及测试255.1 登录界面255.2 教师查询界面265.3 学生选课界面265.4 学生浏览、修改界面27总 结28致 谢29参考文献30 摘 要随着在校大学生的不断增加,学生选课也成为学校对学生管理中不可缺少的一部分。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点。本文着重讨论了用ADO.NET技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以很方便的在校园网上进行网上选课。该系统使用C#作为ADO.NET的开发语言,SQLServer2005作为数据库,系统有较高的安全性和较好的性能。 关键词:学生选课、C#、ADO.NET、SQLServer2005 AbstractWiththecontinuousincreaseincollegestudents,studentsofstudentselectiveisbecominganintegralpartofmanagement.Previouselectivemethodistouseartificialmethodstomanagefilearchives,thismanagementapproachhasmanydisadvantages:lowefficiency,poorsecurity,whileovertime,willgeneratealargenumberofdocumentsanddata,whichforfinding,updatingandmaintenanceofbringalotofdifficulties.Withthecontinuousimprovementofscienceandtechnology,thecomputerhasaccesstoallareasofhumansociety,andplayanincreasinglyimportantrole.Asapartofcomputerapplicationsandpracticalmanagementofinformationtechnologyisabsolutelyelective,withmanualmanagementincomparableadvantages.ThispaperfocusedonusingADO.NETtechnologyandSQLServer2005Developerelectivesystem,accesstothedatabasetechnology,andgivesomeofthecorecodecanbeachieved.ThroughthesystemsothatstudentscaneasilyonlineOnlineCourseoncampus.TheSystem C# as the ADO.NET development language,SQL Server2005asadatabase,Systemhasahighersecurityandbetterperformance.IC#astheADO.NETdevelopmentlanguage,SQLServer2005asadatabase.Systemhasahighersecurityandbetterperformance.Inwhichthedatabaseconnectionstringcanchangeatanytime.Thecodetomakeuseofthestoredprocedureandtominimizethedatabaseconnectionopentimetoimproveperformance.Keywords :Studentelective ,C# , ADO.NET ,SQLServer2005 1 绪论1.1课题背景 以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。学生选课系统是一个针对高校学生选课而开发的学生选课信息管理系统,是为学生选课提供安全、快捷、方便的服务而建立的应用软件。包括数据流程及存储、学生课程设置、选课修改及删除等。还有较为先进的学生选课系统增加了学生成绩查询这一个功能,使学生能够方便快捷地查询成绩,系统可以使学生更方便的选课。实现全校学生教师选课查询功能。由于学生上课情况复杂,可以实现信息修改,及时调整学生的基本情况。1.2系统设计目的与意义 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情,学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。1.3 系统开发的目标 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。 2系统相关技术介绍2.1 C#技术简介要了解C#,首先要了解Microsoft.NET FrmeWork。Microsoft.NET FrameWork是微软公司提出的新一代软件开发模型,C#语言是.NET FrameWork中新一代的开发工具。C#语言是一种现代的,面向对象的语言,它简化了C+语言在类、命名控件、方法重载和异常处理等方面的操作,摒弃了C+的复杂性,更易使用。它使用组件编程,在这方面和VB类似。在动态查阅、中间代码技术、参数传递、交叉语言处理、面向对象方面有自己的特点。另外,由于C#中取消了指针的功能,这样可以有效防止病毒程序利用非法指针访问私有成员,也能避免指针的误操作产生的错误。因此,其在安全性方面也有了很大的提高。2.2 SQL技术2.2.1 数据库的基本概念SQL(Structured Query Languge)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言包括:数据定义语言、数据操作语言、数据查询语言、数据控制语言四部分。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所有具有完全不同底层结构的不同数据库系统,都可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能。2.2.2 本系统中数据库的访问本系统的数据库访问过程实现主要通过六个步骤:(1)建立数据库表,表中存储相应数据。(2)使用SqlConnection或OleDbConnection类建立数据库应用程序和数据库连接对象。(3)从数据库指定表中取出感兴趣的记录。(4)从数据库指定表中取出的感兴趣记录组成一个新表,填充到DataSet类对象中,可填充多个表,并可在DataSet类对象中指定表和表的关系。取出所感兴趣的记录后,断开数据库连接。(5)用支持数据库绑定控件(例如DataGrid控件)显示DataSet类对象中的数据,供用户浏览、查询和修改。(6)及时更新DataSet中内容,并把修改的数据存回源数据库。 3 系统分析3.1 需求分析3.1.1可行性分析经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运Microsoft Visual Studio 2008软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发使用数据库,只需考虑安装SQL sever数据库的问题,在技术上要求并不高,因此本系统在技术上是可行的。运行可行性: 本系统是一个学生选课系统,所耗费的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。3.1.2 系统性能需求实用性:为学生选课提供方便,可以有效的管理学生选课。先进性:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。操作简单:本系统应该适用于不同水平的使用者,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。适应性:应该能广泛应用于不同类型的大、中、小学院校,系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。 代码可读性好:文中的代码将尽可能简洁,易懂。 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)学生选课管理信息的查询、添加、修改、删除。(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(管理员); 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 = 学生) 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(请输入正确的用户名或密码, 提示); 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() != null) this.Visible = false; teacher t = new teacher (); 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() != null) 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(); sqlconnection 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.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 = select * 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 = new 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(delRowIndex); 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 课程名称=,课程编号=,教师姓名=,教师编号=,课时= 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 (textBox1.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); dataGridView1.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() InitializeComponent(); 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.ToString(); tnum= dataGridView1.CurrentRow.Cells3.Value.ToString(); ks = dataGridView1.CurrentRow.Cells4.Value.ToString(); if (kh = null) MessageBox.Show(课程号不能为空!, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); cmd = new SqlCommand(select * from course where 课程编号= + kh + , con); if (cmd.ExecuteScalar() = null) string getstring = insert into course values( + km + , + kh + , + tname + , + tnum + , + ks + ); cmd = new SqlCommand(getstring, con); cmd.CommandText = getstring; cmd.ExecuteNonQuery(); MessageBox.Show(更新成功!); else MessageBox.Show(课程已存在!, 提示); con.Close(); private void button2_Click(object sender, EventArgs e) /删除首先要定位到当前选中的记录 int delRowIndex = dataGridView1.CurrentRow.Index; this.dataGridView1.Rows.RemoveAt(delRowIndex); SqlConnection con = new SqlConnection(get.getstring(); con.Open(); string getstring = delete from course where 课程编号= + dataGridView1.SelectedRows0.Cells1.Value .ToString () + ; string getstring1 = delete from xuanke where 课程编号= + dataGridView1.SelectedRows0.Cells1.Value .ToString () + ; cmd = new SqlCommand(getstring, con); cmd1 = new SqlCommand(getstring1, con); cmd.CommandText = getstring; cmd1.CommandText = getstring1; cmd.ExecuteNonQuery(); cmd1.ExecuteNonQuery(); MessageBox.Show(删除成功!); con.Close(); private void button4_Click(object sender, EventArgs e) SqlConnection con = new SqlConnection(get.getstring(); con.Open(); ds = new DataSet(); adp = new SqlDataAdapter(SELECT * FROM course, con); adp.Fill(ds, course); dataGridView1.DataSource = ds.Tablescourse; con.Close(); private void button3_Click(object sender, EventArgs e) this.Visible = false; manager m; m = new manager(); m.Show(); modifycou modc; private void button5_Click(object sender, EventArgs e) this.Visible = false; if (dataGridView1.DataSource != null | dataGridView1.CurrentRow.Cells1.Value.ToString() != null) modc = new modifycou(); ms.t1 = dataGridView1.CurrentRow.Cells0.Value.ToString(); ms.t2 = dataGridView1.CurrentRow.Cells1.Value.ToString(); ms.t3 = dataGridView1.CurrentRow.Cells2.Value.ToString(); ms.t4 = dataGridView1.CurrentRow.Cells3.Value.ToString(); ms.t5 = dataGridView1.CurrentRow.Cells4.Value.ToString(); modc.Show(); 教师查询代码 private void button2_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(请输入教师编号, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); cmd = new SqlCommand(select * from xuanke where 教师编号= + textBox1.Text + , con); if (cmd.ExecuteScalar() != null) ds = new DataSet(); adp = new SqlDataAdapter(SELECT * FROM xuanke where 教师编号= + textBox1.Text + , con); adp.Fill(ds, xuanke); dataGridView1.DataSource = ds.Tablesxuanke; else MessageBox.Show(输入错误或者无此老师授课信息!, 提示); con.Close(); 5 系统的具体实现及测试5.1 登录界面 登录界面 管理界面 5.2 教师查询界面5.3 学生选课界面5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 子宫肌瘤剔除术护理查房
- 2026届广东省普宁市华南实验学校英语九年级第一学期期末达标检测模拟试题含解析
- 2026届四川省绵阳富乐园际学校化学九年级第一学期期末学业质量监测模拟试题含解析
- 2026届江苏省泰州市姜堰区实验初级中学化学九年级第一学期期中监测试题含解析
- 2026届吉林省前郭尔罗斯蒙古族自治县化学九年级第一学期期中监测试题含解析
- 商场员工培训资料
- 汽车线束销售年终总结
- 2026届宁夏吴忠市红寺堡二中学化学九上期中调研试题含解析
- 山东省济南市育英中学2026届化学九年级第一学期期中达标检测模拟试题含解析
- 山西省山西大学附属中学等校2025-2026学年高三上学期9月月考政治试题(含答案)
- 2025年天文知识竞赛试题及答案
- 气道温湿化管理课件
- 2025版办公楼物业管理与智能化系统集成合同
- 民办教育研究院管理办法
- 2025年上半年入党积极分子培训班结业考试题及答案
- DB65∕T 3119-2022 建筑消防设施管理规范
- 2025方便速食行业线上消费趋势洞察
- 中职女生健康教育
- 单位集中物业管理保洁服务方案方案投标文件(技术方案)
- 外事礼仪培训课程
- 2025至2030中国玄武岩纤维行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论