《C#课程设计报告.doc》由会员分享,可在线阅读,更多相关《C#课程设计报告.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#课程设计报告C#课程设计报告西南大学荣昌校区课程教学实习档案表系部信息管理系学生姓名郭生文专业计算机科学与技术学号222021602053011年级2021级指导教师肖兴江信管系(部)制表二0一三年5月6日课程名称:C#课程设计实习周数:9(周)实习单位:西南大学(荣昌校区)实习地点:二教4楼(2405)实习时间:2021/2/142021/5/7一、实习目的、要求:实习的目的:随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科
2、学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。目前市面上流行的人事管理系统不少,但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行
3、查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。实习的要求:1.利用c#程序设计一个管理信息系统;2.掌握程序的规划与开发方法;3.进行程序的需求分析;4.进行程序的设计;5.进行程序的测试与维护;6.完成系统设计报告,并提交源程序。二、实习主要内容:1.需求分析对人事管理系统进行需求分析,对市场进行调查,得出系统的可行性,对可行性进行分析,列出需要实现的功能,然后进行各个模块的分析,得出功能模块和各个模块之间的关系列表。2程序设计(1)数据库设计(部分表)登陆表:人事资料表:教师信息表:教师工资信息表:(2)程序实现陆界面,实现登陆操作主界面,现各个界面的联系,和总的功
4、能的汇总,各个界面的接入点各个窗口的实现,实现对数据的添加、删除、修改、查询、等一系列的操作。三、实习总结:完成这次程序设计任务总共用了九个星期时间,前两个星期用来收集资料、学习要用到的各项开发技术、进行论坛的系统分析,中间五个星期用来设计系统,后两个星期用来测试及修改。论文的撰写一直贯穿其中。经过几个星期来的努力,终于完成了本课程设计。从当初确定模块的完成,经历了无数次的错误-修改代码-重启服务器-运行的过程,感觉到平时学的知识是多么的浅薄,书到用时方恨少,现在是体验的真真切切。通过本次实验,我也感受到了开源的方便,遇到什么问题,上网一查,就知道该怎么弄了,学习都是相互的,互相研究才能共同进
5、步的。回顾这两个月的系统开发工作,总结起来那就是,软件的开发是相当辛苦的,但成功以后的喜悦也是非常美妙的。实习成绩评定:指导教师签名:2021年5月7日扩展阅读:C#学生管理系统课程设计报告及代码课程设计(大作业)报告课程名称:软件代码开发技术(c#)设计题目:设计一个学生管理系统院系:信息技术学院班级:08级本科4班设计者:王辉学号:20211101438指导教师:王亚宁设计时间:2021.6.12021.6.10昆明学院昆明学院课程设计(大作业)任务书姓名:王辉院(系):信息技术学院学号:20211101438专业:计算机科学与技术任务起止日期:2021.6.42021.6.10课程设计要
6、求:课程设计题目:设计一个学生管理系统1)使用ADO.NET访问和操作数据库。2)在C#中可以连接数据库,并对数据库进行修改。3)完成用户管理模块,课程管理模块,选课管理模块,成绩管理模块的界面及代码设计。4)进行合理的界面更改,部分运行结果截图留档(SQL运行界面,C#NET运行界面)。5)规定时间内安要求完成代码及作业。工作计划及安排:第一阶段:6月4号6月5号,图书馆借阅图书资料,上网搜索学生信息管理系统背景资料。第二阶段:6月6号6月8号,完成用户管理模块、课程管理模块、成绩管理模块的代码编写。第三阶段:6月9号,完成成绩管理模块的代码编写,及完善程序整体代码编写。第四阶段:10号,完
7、成报告编写,及部分文档归总。指导教师签字年月日课程设计(大作业)成绩学号:20211101438总结:在进行本次课程设计时,我遇到了很多困难和学习到了很多知识。下面我将主要总结我所遇到的困难,及自己的解决方法。以及自己学到的知识点。开始着手在C#中建立与SQL数据库连接时,连接数据库时在连接句前加上字符相对于单一的连接语句更容易连接得上。在对DataAdapter数据集中数据表的行数据、列名进行修改时,可以通过数据集中表的行二维数组dataset.Tablest.Rowsij.ToString()来实现,其中i为行标,j为列标。在对数据行数进行读取时,可采用dataset.Tablest.Ro
8、ws.Count来实现。学生在从第一个登录界面窗体登录学号进入信息查看界面窗体时,要保证学号信息能准确无误的传输到信息查看界面窗体才可以在信息查看窗体中查看该学生的个人信息。开始时我只是在信息窗体Form8中实例化Form1对象,结果无法获取Form1窗口中的textBox1.Text中的学生学号信息。经过进一步查找资料,我明白了在信息窗体Form8中调用Form1中的属性或函数,与在Form1中调用Form8中的属性或函数不一样。窗体Form1下,其中的属性和函数都有确定的值或表达式,直接调用Form8将值传进去可行,因为此时Form1中的数据存在;而在Form8窗体中调用Form1窗体中的
9、函数和属性,则Form1窗体已经关闭,改窗体中的textBox1.Text也就无值了,获取该窗体中textBox1.Text中的学生学号信息也就无法实现。通过编写代码,使我很熟练的可以运用C#中的数据集Dataset、Connection对象、Command对象、DataResder对象和DataAdapter对象。并对SQL的select、insert、delete、update熟练掌握。指导教师评语:成绩:填表时间:指导教师签名:姓名:王辉指导教师:王亚宁课程设计题目:设计一个学生管理系统课程设计(大作业)报告一、题目分析1背景分析编写目的本需求的编写目的在于研究学籍管理系统软件的开发途径
10、和应用方法。以及明确所要开发的软件应具有的功能、性能与界面,是系统分析人员及软件开发人员能清楚的了解用户的需求,并再次基础上进一步提出概要设计说明书和完成后续设计与开发工作。项目背景近年来随着高校的扩招,需要处理的学生信息日趋加大,不仅花费大量的教师资源,处理的效果还十分低下。为了提高学生管理的管理水平,优化资源,尽可能的降低管理成本,成为学生管理的新课题。学生管理系统是从学生管理的现状出发,根据学生管理的新要求进行开发设计的,它解决了学生管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,帮助学生管理人员有效管理学生信息,成为高校管理中必不可少的管理工具。2系统功能分析
11、管理员对功能的需求管理员权限最大,可以对学生、班级、课程情况进行统一的管理,细分如下:添加、修改、删除管理员;有关学生信息的浏览,包括学生姓名、性别、民族、出生日期、入学时间、所在班级、籍贯和备注信息;学生信息的添加、修改和删除;学校基本课程的浏览,包括课程名、课程类型、学时、学分和课程具体描述;学校基本课程的添加、修改和删除;学生成绩信息的浏览与统计,可按成绩具体范围对成绩进行统计;学生成绩信息的添加、修改和删除;学生选课信息的管理,包括修改与删除;学生选课人数的统计。学生对功能的需求学生只是利用此系统进行与自己有关的信息查询、输入等,细分如下:浏览个人基本信息,具体内容包括姓名、学号、民族
12、、出生日期、籍贯、所在班级、备注等;学生登陆系统后,修改个人密码;浏览课程信息,具体内容包括课程名、课程类型、学时、学分和课程具体描述;学生利用此系统选修课程、在选课过程中,可查询待选课程基本信息;浏览个人选课情况。二、可行性分析1技术可行性本系统采用WindowsXP及其以上版本作为操作平台。数据库管理系统选用SQL,该数据库管理系统,提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用程序开发平台选用MicrosoftVisualstudio2021。2经济可行性采用前台学籍信息管理系统可取代原系统的单手工传递工作,减少人工开支,节
13、省资金,并且可大大提高信息量的取得,缩短信息处理周期提高学生信息的利用率,使教学质量更上一个台阶。3营运可行性本系统操作简单,易于理解,只需通过简单培训,上手较快,学校学籍管理处的教职员以及相关教师均能进行操作,营运环境要求低。面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。标准性:系统编写与运行必须符合标准,既可以保证系统运行又可以在此标准上每一项功能运行。可靠性:由于学籍信息的重要性,系统必须稳定可靠,从而避免或减少数据损失。安全性:通过系统权限控制使用者,从而
14、确保使用者无法操作与其无关的数据。高效性:由于学校学生信息每次处理信息量较大,系统对信息处理能力响应能力都应是快捷有效的。可维护性:采用结构化模块设计,便于开发与维护,也有利于情况随时三、总体设计1总体功能描述本系统主要是实现前台参与者(管理员和学生)的界面实际操作来更改后台数据库信息,并能够在前台显示出来。其归根结底也就是对数据的插入、修改、删除和查询。2系统层次图学生管理系统用户管理管理员管理学生管理课程管理选课管理成绩管理学生信息管理系统是一个典型的数据库应用程序,由用户管理、课程管理、选课管理和成绩管理四大模块组成。这四大模块针对管理员和学生角色其功能也不一样。(1)用户管理模块:该模
15、块的主要任务是管理员对系统的使用权限进行设定,从而来管理管理员与学生的系统登录权限。(2)课程管理模块:该模块的使用角色为管理员,管理员对课程进行管理。如添加、修改、删除课程。(3)选课管理模块:该模块的角色为管理员和学生,管理员。学生可以进行合理的选课、退选课,管理员则通过此模块查看学生选课信息。(4)成绩管理模块:该模块的角色为管理员,管理员通过此模块进行合理的成绩添加。3数据流图参与者手动输入登录信息用户名密码管理员管理操作从新登陆输入正确密码出错用户名或个人信息识别管理员和学生按键选择操作按键选择操作用户信息管理学生信息管理课程信息管理成绩信息管理选课信息管理退出课程信息成绩信息选课修
16、改密码4数据库设计系统E-R图(1)学生管理系统实体间关系E-R图学生信息学生课程(学习)课程信息(2)学生管理系统用户信息实体图用户编号用户密码用户信息(3)学生管理系统学生信息实体图(4)学生管理系统课程信息实体图(5)学生管理系统学生-课程信息实体图课程信息记录编号学生学号课程编号成绩学期年度学分课程信息具体描述课程编号名称类型学时入学时间按所在班级地址备注用户信息学号学生姓名性别民族生日用户类型表/字段分析(1)用户信息数据表(Users)列名数据类型User_idvarcharUser_passwordvarcharUser_powerint(2)学生信息数据表(Student)列名
17、数据类型大小字段描述Student_idvarchar50学生学号,设为主键Student_namevarchar50学生姓名Student_sexchar5学生性别(CHECK=男或女)Student_nationchar5学生民族Student_birthdaydatetime8学生出生日期Student_timedatetime8学生入学时间Student_classvarchar50学生所在班级Student_homevarchar50学生住址Student_elsevarchar50备注(3)课程信息数据表(Course)列名数据类型大小字段描述Course_idvarchar50课
18、程号,设为主键Course_namevarchar50课程名Course_periodint4课程学时Course_creditint4课程学分Course_describevarchar50课程具体描述(4)学生选课记录数据表(Student_Course)列名数据类型大小字段描述学生选课记录ID号,设为主键,自IDbigint8动编号Student_idvarchar50学生学号,外键Course_idvarchar50学生所学课程号,外键Student_gradeint4学生成绩Course_yearchar5年度学期大小字段描述50用户名,设为主键50用户密码4记录用户类型,0-学生,
19、1-管理员四、开发工具硬件:惠普笔记本一台软件:WindowsXP操作系统、SQLServer2021、VisualStudio2021五、运行结果获取连接字符串:数据库中主要表的建立:课程表学生表运行界面管理员、学生登陆窗口管理员管理窗口管理员成绩添加窗口学生查看课程信息六、参考资料1.2.C#程序设计教程蒙祖强等编著清华大学出版社2021年第一版数据库应用技术(第二版)SQLServer2021申时凯、李海燕主编中国铁道出版社七、代码一共有12个界面,也就有12个窗口的代码。1)Form1,登陆界面窗口usingSystem;usingSystem.Collections.Generic;
20、usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceStudentspublicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)/设置连接字符串StringConnstr=IntegratedSecur
21、ity=SSPI;PersistSecurityInfo=False;InitialCatalog=stu_admin;DataSource=LBDZ-05020215SQLEXPRESS;DataSetdataset=newDataSet();/创建数据集SqlConnectionconn=newSqlConnection(Connstr);conn.Open();tryif(this.textBox1.Text=)/验证是否输入了用户姓名MessageBox.Show(用户名不能为空);textBox1.Focus();return;if(this.textBox2.Text=)/验证是否
22、输入了密码MessageBox.Show(请输入密码);textBox2.Focus();return;if(radioButton1.Checked=true)stringsql=string.Format(selectcount(*)fromUserswhereUser_id=0andUser_password=1andUser_power=2,this.textBox1.Text,this.textBox2.Text,1);SqlCommandcomm=newSqlCommand(sql,conn);/创建comm对象intcount=(int)comm.ExecuteScalar();
23、/执行查询,并返回查询if(count=1)/判断是否存在这样一列this.Hide();Form2f2=newForm2();f2.Show();elseMessageBox.Show(不存在此用户);if(radioButton2.Checked=true)stringsql=string.Format(selectcount(*)fromUserswhereUser_id=0andUser_password=1andUser_power=2,this.textBox1.Text,this.textBox2.Text,0);SqlCommandcomm=newSqlCommand(sql,
24、conn);/创建command对象intcount=(int)comm.ExecuteScalar();/执行查询,并返回查询if(count=1)/判断是否存在这样一列this.Hide();Form8f8=newForm8();f8.passbb(textBox1.Text);f8.Show();elseMessageBox.Show(输入有误,请从新输入!);catch(Exceptionex)thrownewException(产生异常!);privatevoidbutton2_Click(objectsender,EventArgse)radioButton1.Checked=tr
25、ue;textBox1.Text=;textBox2.Text=;textBox1.Focus();privatevoidradioButton2_CheckedChanged(objectsender,EventArgse)textBox1.Focus();privatevoidForm1_Load(objectsender,EventArgse)textBox1.Focus();2)Form2学生管理选择操作界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;us
26、ingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceStudentspublicpartialclassForm2:FormpublicForm2()InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)this.Hide();Form3f3=newForm3();f3.Show();privatevoidbutton2_Click(objectsender,Even
27、tArgse)this.Hide();Form4f4=newForm4();f4.Show();privatevoidbutton3_Click(objectsender,EventArgse)this.Hide();Form5f5=newForm5();f5.Show();privatevoidbutton4_Click(objectsender,EventArgse)this.Hide();Form6f6=newForm6();f6.Show();privatevoidbutton5_Click(objectsender,EventArgse)this.Hide();Form7f7=new
28、Form7();f7.Show();privatevoidbutton6_Click(objectsender,EventArgse)this.Hide();Form1f1=newForm1();f1.Show();privatevoidbutton7_Click(objectsender,EventArgse)Application.Exit();3)Form3用户信息窗口界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;u
29、singSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceStudentspublicpartialclassForm3:FormSqlConnectionconn=null;SqlDataAdapterDataAdapter=null;DataSetdataset=null;stringConnectionString=IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=stu_admin;DataSource=LBD
30、Z-05020215SQLEXPRESS;publicForm3()InitializeComponent();privatevoidForm3_Load(objectsender,EventArgse)conn=newSqlConnection(ConnectionString);showdata();privatevoidshowdata()conn.Open();DataAdapter=newSqlDataAdapter();dataset=newDataSet();SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.Command
31、Text=select*fromUsers;DataAdapter.SelectCommand=cmd;DataAdapter.Fill(dataset,t);listBox1.Items.Clear();tryfor(inti=0;i0)MessageBox.Show(成功插入数据);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd1.Dispose();showdata();elseMessageBox.Show(添加格式不正确,请从新添加!);privatevoidb
32、utton2_Click(objectsender,EventArgse)intj=0;intflag=0;for(inti=0;i0)MessageBox.Show(成功更新数据!);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd2.Dispose();showdata();elseMessageBox.Show(修改格式不正确,请从新修改!);elseMessageBox.Show(数据库中无此用户的ID,无法进行修改!);privatevoidbutton3_Cli
33、ck(objectsender,EventArgse)stringstrsql2=deletefromUserswhereUser_id=+textBox1.Text+;SqlCommandcmd3=newSqlCommand();trycmd3.Connection=conn;cmd3.CommandText=strsql2;conn.Open();intn=cmd3.ExecuteNonQuery();if(n0)MessageBox.Show(成功删除数据!);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=
34、null)conn.Close();cmd3.Dispose();showdata();privatevoidbutton4_Click(objectsender,EventArgse)this.Hide();Form2f2=newForm2();f2.Show();privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)intitem=listBox1.SelectedIndex;textBox1.Text=listBox1.Itemsitem.ToString();for(inti=0;i0)MessageBox.S
35、how(成功插入数据);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd1.Dispose();showdata();elseMessageBox.Show(添加格式不正确,请从新添加!);privatevoidbutton2_Click(objectsender,EventArgse)intj=0;intflag=0;for(inti=0;i0)MessageBox.Show(成功更新数据!);catch(Exceptionexe)MessageBox.Show(exe.
36、Message);finallyif(conn!=null)conn.Close();cmd2.Dispose();showdata();elseMessageBox.Show(修改格式不正确,请从新修改!);elseMessageBox.Show(数据库中无此用户的姓名,无法进行修改!);privatevoidbutton3_Click(objectsender,EventArgse)stringstrsql2=deletefromStudentwhereStudent_name=+textBox2.Text+;SqlCommandcmd3=newSqlCommand();trycmd3.C
37、onnection=conn;cmd3.CommandText=strsql2;conn.Open();intn=cmd3.ExecuteNonQuery();if(n0)MessageBox.Show(成功删除数据!);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd3.Dispose();showdata();privatevoidbutton4_Click(objectsender,EventArgse)this.Hide();Form2f2=newForm2();f
38、2.Show();5)Form5课程信息窗口usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceStudentspublicpartialclassForm5:FormSqlConnectionconn=null;SqlDataAdapterDataAdapter=null;D
39、ataSetdataset=null;stringConnectionString=IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=stu_admin;DataSource=LBDZ-05020215SQLEXPRESS;publicForm5()InitializeComponent();privatevoidForm5_Load(objectsender,EventArgse)conn=newSqlConnection(ConnectionString);showdata();privatevoidshowd
40、ata()conn.Open();DataAdapter=newSqlDataAdapter();dataset=newDataSet();SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.CommandText=select*fromCourse;DataAdapter.SelectCommand=cmd;DataAdapter.Fill(dataset,t);listBox1.Items.Clear();tryfor(inti=0;i0)MessageBox.Show(成功插入数据);/listBox1.Items.Add(text
41、Box1.Text.ToString();catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd1.Dispose();showdata();elseMessageBox.Show(添加格式不正确,请从新添加!);privatevoidbutton2_Click(objectsender,EventArgse)intj=0;intflag=0;for(inti=0;i0)MessageBox.Show(成功更新数据!);catch(Exceptionexe)MessageBox.
42、Show(exe.Message);finallyif(conn!=null)conn.Close();cmd2.Dispose();showdata();elseMessageBox.Show(修改格式不正确,请从新修改!);elseMessageBox.Show(数据库中无此用户的ID,无法进行修改!);privatevoidbutton3_Click(objectsender,EventArgse)stringstrsql2=deletefromCoursewhereCourse_name=+textBox2.Text+;SqlCommandcmd3=newSqlCommand();tr
43、ycmd3.Connection=conn;cmd3.CommandText=strsql2;conn.Open();intn=cmd3.ExecuteNonQuery();if(n0)MessageBox.Show(成功删除数据!);catch(Exceptionexe)MessageBox.Show(exe.Message);finallyif(conn!=null)conn.Close();cmd3.Dispose();showdata();privatevoidbutton4_Click(objectsender,EventArgse)this.Hide();Form2f2=newForm2();f2.Show();privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)intitem=listBox1.SelectedIndex;textBox2.Text=listBox1.Itemsitem.ToString();for(inti=0;iC#课程设计报告:该篇文章建议您自主创作。 第 17 页 共 17 页