C#课程设计学生选课系统论文_第1页
C#课程设计学生选课系统论文_第2页
C#课程设计学生选课系统论文_第3页
C#课程设计学生选课系统论文_第4页
C#课程设计学生选课系统论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . HYPERLINK l _Toc3751 摘要1TOC o 1-3 h u HYPERLINK l _Toc3751 Abstract PAGEREF _Toc3751 2 HYPERLINK l _Toc15424 1 绪论 PAGEREF _Toc15424 4 HYPERLINK l _Toc28426 1.1课题背景 PAGEREF _Toc28426 4 HYPERLINK l _Toc6300 1.2系统设计目的与意义 PAGEREF _Toc6300 4 HYPERLINK l _Toc14342 2系统相关技术介绍 PAGEREF _Toc14342 5 HYPERLI

2、NK l _Toc8085 2.1 C#技术简介 PAGEREF _Toc8085 5 HYPERLINK l _Toc2289 2.2 SQL技术 PAGEREF _Toc2289 6 HYPERLINK l _Toc22645 2.2.1 数据库的根本概念 PAGEREF _Toc22645 6 HYPERLINK l _Toc17418 2.2.2 本系统中数据库的访问 PAGEREF _Toc17418 6 HYPERLINK l _Toc15387 3 系统分析 PAGEREF _Toc15387 7 HYPERLINK l _Toc2028 3.1 需求分析 PAGEREF _To

3、c2028 7 HYPERLINK l _Toc6940 3.1.1可行性分析 PAGEREF _Toc6940 7 HYPERLINK l _Toc1432 3.1.2 系统性能需求 PAGEREF _Toc1432 8 HYPERLINK l _Toc559 3.2 系统流程图设计 PAGEREF _Toc559 9 HYPERLINK l _Toc8120 3.3数据存储分析:实体联系图E-R PAGEREF _Toc8120 10 HYPERLINK l _Toc30423 4 系统总体设计 PAGEREF _Toc3042312 HYPERLINK l _Toc18192 4.1 系

4、统总体功能层次图 PAGEREF _Toc18192 12 HYPERLINK l _Toc13863 4.2 系统功能模块设计 PAGEREF _Toc13863 12 HYPERLINK l _Toc14218 4.3 数据库设计 PAGEREF _Toc14218 13 HYPERLINK l _Toc15771 4.4 局部源代码的设计 PAGEREF _Toc15771 14 HYPERLINK l _Toc27183 5 系统的具体实现及测试 PAGEREF _Toc27183 25 HYPERLINK l _Toc20432 5.1 登录界面 PAGEREF _Toc20432

5、25 HYPERLINK l _Toc9666 5.2 教师查询界面 PAGEREF _Toc9666 26 HYPERLINK l _Toc29846 5.3 学生选课界面 PAGEREF _Toc29846 26 HYPERLINK l _Toc9872 5.4 学生浏览、修改界面 PAGEREF _Toc9872 27 HYPERLINK l _Toc17398 总 结 PAGEREF _Toc17398 28 HYPERLINK l _Toc26038 致 PAGEREF _Toc26038 29 HYPERLINK l _Toc5836 参考文献 PAGEREF _Toc5836 3

6、0 摘 要随着在校大学生的不断增加,学生选课也成为学校对学生管理中不可缺少的一局部。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,实用技术绝对选课信息进展管理,具有手工管理所无法比较的优点。本文着重讨论了用ADO.NET技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以很方便的在校园网上进展网上选课。该系统使

7、用C#作为ADO.NET的开发语言,SQLServer2005作为数据库,系统有较高的平安性和较好的性能。 关键词:学生选课、C#、ADO.NET、SQLServer2005AbstractWiththecontinuousincreaseincollegestudents,studentsofstudentselectiveisbeinganintegralpartofmanagement.Previouselectivemethodistouseartificialmethodstomanagefilearchives,thismanagementapproachhasmanydisadv

8、antages:lowefficiency,poorsecurity,whileovertime,willgeneratealargenumberofdocumentsanddata,whichforfinding,updatingandmaintenanceofbringalotofdifficulties.Withthecontinuousimprovementofscienceandtechnology,theputerhasaccesstoallareasofhumansociety,andplayanincreasinglyimportantrole.Asapartofputerap

9、plicationsandpracticalmanagementofinformationtechnologyisabsolutelyelective,withmanualmanagementinparableadvantages.ThispaperfocusedonusingADO.NETtechnologyandSQLServer2005Developerelectivesystem,accesstothedatabasetechnology,andgivesomeofthecorecodecanbeachieved.Throughthesystemsothatstudentscaneas

10、ilyonlineOnlineCourseoncampus.TheSystem C# as the ADO.NET development language,SQL Server2005asadatabase,Systemhasahighersecurityandbetterperformance.IC#astheADO.NETdevelopmentlanguage,SQLServer2005asadatabase.Systemhasahighersecurityandbetterperformance.Inwhichthedatabaseconnectionstringcanchangeat

11、anytime.Thecodetomakeuseofthestoredprocedureandtominimizethedatabaseconnectionopentimetoimproveperformance.Keywords :Studentelective ,C# , ADO.NET ,SQLServer20051 绪论1.1课题背景以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。学生选课系统是一个针对高校学生选课而开发的学生选课信息管理系统,是为学生选课提供平安、快捷、方

12、便的效劳而建立的应用软件。包括数据流程及存储、学生课程设置、选课修改及删除等。还有较为先进的学生选课系统增加了学生成绩查询这一个功能,使学生能够方便快捷地查询成绩,系统可以使学生更方便的选课。实现全校学生教师选课查询功能。由于学生上课情况复杂,可以实现信息修改,及时调整学生的根本情况。1.2系统设计目的与意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对选课信息进展管理,有着手工管理所无法比较的优点.例如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、本钱低等。这些优点能

13、够极提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情,学生选课系统是一个学校不可缺少的局部,它的容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。1.3 系统开发的目标建立学生信息管理系统,采用计算机对学生信息进展管理,进一步提高办学效益和现代化水平。帮助广阔教师提高工作效率,实现学生信息管理工作流程的系统化、规化和自动化。2系统相关技术介绍2.1 C#技术简介要了解C#,首先要了解Microsoft.NET FrmeWork。Microsoft.NET FrameWork

14、是微软公司提出的新一代软件开发模型,C#语言是.NET FrameWork中新一代的开发工具。C#语言是一种现代的,面向对象的语言,它简化了C+语言在类、命名控件、方法重载和异常处理等方面的操作,摒弃了C+的复杂性,更易使用。它使用组件编程,在这方面和VB类似。在动态查阅、中间代码技术、参数传递、穿插语言处理、面向对象方面有自己的特点。另外,由于C#中取消了指针的功能,这样可以有效防止病毒程序利用非法指针访问私有成员,也能防止指针的误操作产生的错误。因此,其在平安性方面也有了很大的提高。2.2 SQL技术2.2.1 数据库的根本概念SQLStructured Query Languge构造化查

15、询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言包括:数据定义语言、数据操作语言、数据查询语言、数据控制语言四局部。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所有具有完全不同底层构造的不同数据库系统,都可以使用一样的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句承受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能。2.2.2 本系统中数据库的访问本系统的数据库访问过程实现主要通过六个

16、步骤:(1)建立数据库表,表中存储相应数据。(2)使用SqlConnection或OleDbConnection类建立数据库应用程序和数据库连接对象。(3)从数据库指定表中取出感兴趣的记录。(4)从数据库指定表中取出的感兴趣记录组成一个新表,填充到DataSet类对象中,可填充多个表,并可在DataSet类对象中指定表和表的关系。取出所感兴趣的记录后,断开数据库连接。(5)用支持数据库绑定控件例如DataGrid控件显示DataSet类对象中的数据,供用户浏览、查询和修改。(6)及时更新DataSet中容,并把修改的数据存回源数据库。3 系统分析3.1 需求分析3.1.1可行性分析经济可行性:

17、由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的开展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运Microsoft Visual Studio 2008软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发使用数据库,只需考虑安装SQL sever数据库的问题,在技术上要求并不高,因此本系统在技术上是可行的。运行可行性: 本系统是一个学生选课系统,所消耗的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。3.

18、1.2 系统性能需求实用性:为学生选课提供方便,可以有效的管理学生选课。先进性:产品的系统设计和开发应紧跟着整个计算机开展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。操作简单:本系统应该适用于不同水平的使用者,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。适应性:应该能广泛应用于不同类型的大、中、小学院校,系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。 代码可读性好:文中的代码将尽可能简洁,易懂。3.2 系统流程图设计 登 录判断条件管理员 教

19、师 学 生 学生,课程,选课 添加 删除 查找 修改 退 出 条 件 为 假 类型 图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 系统功能模块设计本系统需要完成的功

20、能主要有:1有关学生信息的输入,包括输入学生根本信息、所选课程。2学生信息的查询,包括查询学生根本信息、已学课程。3学生信息的修改、删除。4课程管理信息的添加、修改、删除和浏览等。5学生选课管理信息的查询、添加、修改、删除。6学生实现选择课程和退选课程的功能。7教师实现查询自己课程被选择的情况。4.3 数据库设计课程列表登录表学生信息表学生选课表4.4 局部源代码的设计登录窗体代码public partial class login : Form public login() Initializeponent(); private void login_Load(object sender,

21、EventArgs e) boBo*1.Items.Add(学生); boBo*1.Items.Add(教师); boBo*1.Items.Add(管理员); boBo*1.SelectedInde* = 0; private void button1_Click(object sender, EventArgs e) sqlconnection get = new sqlconnection(); if (te*tBo*1 .Te*t = |te*tBo*2 .Te*t = ) MessageBo*.Show(请输入用户名和密码, 提示); else SqlConnection con =

22、new SqlConnection(get.getstring(); string sql; if (boBo*1.Te*t = 学生) sql = select * from login where 用户名= + te*tBo*1 .Te*t + and 密码= + te*tBo*2.Te*t + and 类型=+boBo*1 .Te*t +;Sqlmand cmd = new Sqlmand(sql, con); con.Open(); if (cmd.E*ecuteScalar() != null) this.Visible = false; student s = new studen

23、t (); s.Show(); else MessageBo*.Show(请输入正确的用户名或密码, 提示); te*tBo*2.Te*t = ; con.Close(); if (boBo*1.Te*t = 教师) sql = select * from login where 用户名= + te*tBo*1.Te*t + and 密码= + te*tBo*2.Te*t + and 类型= + boBo*1.Te*t + ;Sqlmand cmd = new Sqlmand(sql, con); con.Open(); if (cmd.E*ecuteScalar() != null) thi

24、s.Visible = false; teacher t = new teacher (); t.Show(); else MessageBo*.Show(请输入正确的用户名或密码, 提示); te*tBo*2.Te*t = ; con.Close(); if (boBo*1.Te*t = 管理员) sql = select * from login where 用户名= + te*tBo*1.Te*t + and 密码= + te*tBo*2.Te*t + and 类型= + boBo*1.Te*t + ;Sqlmand cmd = new Sqlmand(sql, con); con.Op

25、en(); if (cmd.E*ecuteScalar() != null) this.Visible = false; manager m = new manager (); m.Show(); else MessageBo*.Show(请输入正确的用户名或密码, 提示); te*tBo*2.Te*t = ; con.Close(); 学生选课代码namespace 学生选课系统1 public partial class student : Form DataSet ds; Sqlmand cmd,cmd1; SqlDataAdapter adp; public student() Ini

26、tializeponent(); 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.ToStri

27、ng(); 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

28、(); string getstring1 = select * from *uanke where *=+te*tBo*1 .Te*t + and 课程=+kehao +; cmd1 = new Sqlmand(getstring1, con); if (cmd1.E*ecuteScalar() = null) string getstring = insert into *uanke (课程名称,课程,教师,教师,课时)values( + keming + , + kehao + , + tname + , + tnum + ,+keshi +) where *= + te*tBo*1.T

29、e*t + ; cmd = new Sqlmand(getstring, con); cmd.mandTe*t = getstring; ; cmd.E*ecuteNonQuery(); MessageBo*.Show(选课成功!); this.Close(); else MessageBo*.Show(你已选择此课程!,提示); private void button2_Click(object sender, EventArgs e) int delRowInde* = dataGridView1.CurrentRow.Inde*; this.dataGridView1.Rows.Remo

30、veAt(delRowInde*); SqlConnection con = new SqlConnection(get.getstring(); con.Open(); string getstring1 = select * from *uanke where *=+te*tBo*1 .Te*t + and 课程=+kehao +; Sqlmand cmd1 = new Sqlmand(getstring1, con); if (cmd1.E*ecuteScalar() != null) string getstring = update *uanke set 课程名称=,课程=,教师=,

31、教师=,课时= where *= + te*tBo*1.Te*t + and 课程= + kehao + ; Sqlmand cmd = new Sqlmand(getstring, con); cmd.mandTe*t = getstring; cmd.E*ecuteNonQuery(); MessageBo*.Show(删除成功!); con.Close(); else MessageBo*.Show(你没有选择此课程!,提示); private void button4_Click(object sender, EventArgs e) if (te*tBo*1.Te*t = ) Mes

32、sageBo*.Show(请输入*, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); cmd = new Sqlmand(select * from student,con ); if (cmd.E*ecuteScalar() != null) ds = new DataSet(); adp = new SqlDataAdapter(SELECT * FROM course, con); adp.Fill(ds, course); dataGridView1.DataSource = ds

33、.Tablescourse; else MessageBo*.Show(信息错误!,提示); con.Close(); private void button3_Click(object sender, EventArgs e) this.Close(); 管理员管理课程代码namespace 学生选课系统1 public partial class mgcourse : Form SqlDataAdapter adp; DataSet ds; Sqlmand cmd, cmd1; public mgcourse() Initializeponent(); sqlconnection get

34、= 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.

35、ToString(); tname = dataGridView1.CurrentRow.Cells2.Value.ToString(); tnum= dataGridView1.CurrentRow.Cells3.Value.ToString(); ks = dataGridView1.CurrentRow.Cells4.Value.ToString(); if (kh = null) MessageBo*.Show(课程号不能为空!, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); c

36、md = new Sqlmand(select * from course where 课程= + kh + , con); if (cmd.E*ecuteScalar() = null) string getstring = insert into course values( + km + , + kh + , + tname + , + tnum + , + ks + ); cmd = new Sqlmand(getstring, con); cmd.mandTe*t = getstring; cmd.E*ecuteNonQuery(); MessageBo*.Show(更新成功!);

37、else MessageBo*.Show(课程已存在!, 提示); con.Close(); private void button2_Click(object sender, EventArgs e) /删除首先要定位到当前选中的记录 int delRowInde* = dataGridView1.CurrentRow.Inde*; this.dataGridView1.Rows.RemoveAt(delRowInde*); SqlConnection con = new SqlConnection(get.getstring(); con.Open(); string getstring

38、= delete from course where 课程= + dataGridView1.SelectedRows0.Cells1.Value .ToString () + ; string getstring1 = delete from *uanke where 课程= + dataGridView1.SelectedRows0.Cells1.Value .ToString () + ; cmd = new Sqlmand(getstring, con); cmd1 = new Sqlmand(getstring1, con); cmd.mandTe*t = getstring; cm

39、d1.mandTe*t = getstring1; cmd.E*ecuteNonQuery(); cmd1.E*ecuteNonQuery(); MessageBo*.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, c

40、on); 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 (da

41、taGridView1.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 = dat

42、aGridView1.CurrentRow.Cells3.Value.ToString(); ms.t5 = dataGridView1.CurrentRow.Cells4.Value.ToString(); modc.Show(); 教师查询代码 private void button2_Click(object sender, EventArgs e) if (te*tBo*1.Te*t = ) MessageBo*.Show(请输入教师, 提示); else SqlConnection con = new SqlConnection(get.getstring(); con.Open(); cmd = new Sqlmand(select * from *uanke where 教师= + te*tBo*1.Te*t + , con); if (cmd.E*ecuteScalar() != null) ds = new DataSet(); adp = new SqlDataAdapter(SELECT * FROM *uanke where 教师= + te*tBo*1.Te*t + , con); adp.Fill(ds, *uan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论