ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:416.88KB ,
资源ID:3286592      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3286592.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计学生信息管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计学生信息管理系统.docx

1、数据库课程设计学生信息管理系统 数据库课程设计报告学生信息管理系统 学 校:佳木斯大学 学 院 :信息电子技术学院 年 级 :09级 专 业 :计算机科学与技术 姓 名 :XXX 学 号 :XXXXXXXXX 指 导 教 师 :XX 一、课程设计选题的意义此次课程设计可以使我经历一个数据库系统开发的全过程并受到一次综合的训练,以便能较为全面的理解掌握和综合运用所学的的知识去分析解决实际问题。数据库课程设计使用的数据库软件是Microsoft SQL Server 2005,使用的工具是C#,通过建立数据库的连接使整个学生信息管理系统更加完善。二、需求分析2.1 需求分析的任务 需求分析的主要任

2、务是通过详细调查佳木斯大学的学生信息管理系统,充分了解原系统工作概况,明确各种需求然后在此基础上确定新系统的功能。对数据库的要求有信息、处理、安全性与完整性的要求。 2.2 需求分析的方法 通过进入各个大学的学生信息管理系统的深入了解,界面分析、询问,还有各种书籍上的介绍,再加上我作为一名学生自身对学生信息管理系统的了解等对整体课程设计的进行了详细的分析。 2.3 数据字典 用户的需求具体体现在各种信息的查询、修改、删除,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对一般学生信息管理系统的需求,能

3、过对学生学习过程的内容和数据流程分析,设计如下所示的数据项和数据结构:学生信息管理:通过这一模块,可以实现学生基本情况的添加、修改、删除,数据项包括学生学号、学生姓名、性别、年龄、所在系。学生信息查询:通过这一模块,使用查询条件学号,姓名,性别可以查询各个学生的情况,数据项包括学生学号、学生姓名、性别、年龄、所在系。学生成绩管理:通过这一模块,可以实现学生成绩情况的添加、修改、删除,数据项包括学号、课程号、成绩 。学生信息查询:通过这一模块,使用学号查询条件,可以实现学生成绩情况的查询,数据项包括学号、课程号、成绩 。学生课程管理:通过这一模块,可以实现学生课程的添加、修改、删除,数据项包括课

4、程号、课程名、先行课、学分。学生奖学金管理:通过这一模块,可以实现已获奖学金信息的添加、修改、删除,数据项包括学号、姓名、已获奖学金。管理员选项:通过这一模块,可以实现对学生信息管理系统管理人员的添加,数据项包括用户名和 密码。三、数据库的概念设计 首先设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。该设计规划出的实体有:学生实体、课程实体。四、数据库的逻辑设计现在需要将上面的数据库概念结构转化为SQL Server 2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实

5、体之间关系的基础上,开成数据库中的表格以及各个表格之间的关系。学生信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。1.学生基本信息表student 学生基本信息表student列名数据类型可否为空说明snoVARCHAR(50)NOT NULL学号(主键)snameVARCHAR(50)NULL姓名ssexVARCHAR(50)NULL性别sageVARCHAR(50)NULL年龄sdeptVARCHAR(50)NULL所在系2.课程基本信息表course课程基本信息表course列名数据类型可否为空说明cnoVARCHAR(50)NOT NULL课程号(主键)cnameVARCH

6、AR(50)NULL课程名cpnoVARCHAR(50)NULL先行课ccreditVARCHAR(50)NULL课程学分3学生成绩信息表sc学生成绩信息表sc列名数据类型可否为空说明snoVARCHAR(50)NOT NULL学号(主键)cnoVARCHAR(50)NOT NULL课程号(主键)gradeVARCHAR(50)NULL成绩4管理员信息表stu_user管理员信息表stu_user列名数据类型可否为空说明usernameVARCHAR(50)NOT NULL用户名(主键)passwdVARCHAR(50)NOT NULL密码5学生奖学金信息表stujc管理员信息表stujc列名

7、数据类型可否为空说明snoVARCHAR(50)NOT NULL学号(主键)snameVARCHAR(50) NULL姓名sjcVARCHAR(50)NULL奖学金五、系统完成的主要功能系统功能分析是在系统开发的总体任务的基础上完成的。本设计中学生信息管理系统需要完成的功能主要有:有关学生学籍信息的基本操作,包括查询所在班级进行学生基本信息操作(查询、修改、删除)、查询某个学生的学生基本信息操作等。有关学生课程信息的基本操作,包括查询所在班级进行学生所选课程信息操作(查询、修改、删除)、查询某个学生所学课程的基本操作等。有关学生成绩信息的基本操作,包括查询所在班级进行学生所选课程成绩操作(查询

8、、修改、删除)、查询某个学生所学课程成绩的基本操作等。对各项功能进行集中、分块,按照结构化程序设计的要求,系统功能模块图如下:六、实现的主要技术手段和方法一、创建数据库文件.mdf1开始菜单打开Microsoft Visual Stdio2010新建项目选择windows窗体应用程序右键项目名添加新建项选择数据基于服务的数据库2数据库连接方法SqlConnection myConnection = new SqlConnection(Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|stu_managesystem.mdf;Inte

9、grated Security=True;User Instance=True);二、学生信息处理1学生信息的管理功能,此部分实现了对学生基本信息添加修改删除操作。关键代码如下namespace stu_managesystem public partial class stu_inf : Form public stu_inf() InitializeComponent(); SqlConnection myConnection; SqlCommand sqlCommand; private void stu_inf_Load(object sender, EventArgs e) / my

10、Connection = new SqlConnection(); myConnection = new SqlConnection(Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|stu_managesystem.mdf;Integrated Security=True;User Instance=True); sqlCommand = new SqlCommand(); sqlCommand.Connection = myConnection; sqlCommand.CommandType = CommandType.Text

11、; sqlCommand.CommandText = select * from student; myConnection.Open(); SqlDataReader dreader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection); while (dreader.Read() ListViewItem newItem = listView1.Items.Add(dreadersno.ToString().Trim(); newItem.SubItems.Add(dreadersname.ToString().Trim()

12、; newItem.SubItems.Add(dreaderssex.ToString().Trim(); newItem.SubItems.Add(dreadersage.ToString().Trim(); newItem.SubItems.Add(dreadersdept.ToString().Trim(); dreader.Close(); private void listView1_SelectedIndexChanged(object sender, EventArgs e) if (listView1.SelectedItems.Count 0) textBox1.Text =

13、 listView1.SelectedItems0.Text; textBox2.Text = listView1.SelectedItems0.SubItems1.Text; textBox3.Text = listView1.SelectedItems0.SubItems2.Text; textBox4.Text = listView1.SelectedItems0.SubItems3.Text; textBox5.Text = listView1.SelectedItems0.SubItems4.Text; private void button1_Click(object sender

14、, EventArgs e) if (button1.Text = 添加) button1.Text = 保存; textBox1.Text = ; textBox2.Text = ; textBox3.Text = ; textBox4.Text = ; textBox5.Text = ; textBox1.Focus(); textBox1.ReadOnly = false; textBox2.ReadOnly = false; textBox3.ReadOnly = false; textBox4.ReadOnly = false; textBox5.ReadOnly = false;

15、button2.Enabled = false; button3.Enabled = false; else sqlCommand.CommandText = insert into student values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + ); myConnection.Open(); int cmdresults = sqlCommand.ExecuteNonQuery(); myConnection.Close(); i

16、f (cmdresults = 1) textBox1.ReadOnly = true; textBox2.ReadOnly = true; textBox3.ReadOnly = true; textBox4.ReadOnly = true; textBox5.ReadOnly = true; button2.Enabled = true; button3.Enabled = true; ListViewItem newItem = listView1.Items.Add(textBox1.Text); newItem.SubItems.Add(textBox2.Text); newItem

17、.SubItems.Add(textBox3.Text); newItem.SubItems.Add(textBox4.Text); newItem.SubItems.Add(textBox5.Text); button1.Text = 添加; MessageBox.Show(插入数据成功); else MessageBox.Show(插入数据失败); void TextBox1TextChanged(object sender, EventArgs e) 2学生信息查询功能,此部分实现了对学生信息的查询功能。关键代码如下namespace stu_managesystem public pa

18、rtial class stu_ser : Form public stu_ser() InitializeComponent(); private SqlDataAdapter sqlDataAdapter; private DataSet dsScore; private void stu_ser_Load(object sender, EventArgs e) / SqlConnection myConnection = new SqlConnection(); SqlConnection myConnection = new SqlConnection(Data Source=.SQL

19、EXPRESS;AttachDBFilename=|DataDirectory|stu_managesystem.mdf;Integrated Security=True;User Instance=True); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = myConnection; sqlCommand.CommandType = CommandType.Text; sqlCommand.CommandText = select * from student; sqlDataAdapter = new S

20、qlDataAdapter(); sqlDataAdapter.SelectCommand = sqlCommand; SqlCommandBuilder builder = new SqlCommandBuilder(sqlDataAdapter); dsScore = new DataSet(); sqlDataAdapter.Fill(dsScore, student); this.BindingContextdsScore, student.PositionChanged += new EventHandler(BindingManagerBase_PositionChanged);

21、dataGridView1.DataSource = dsScore; dataGridView1.DataMember = student; ShowPosition(); /setState(true); private void ShowPosition() int iCnt, iPos; iCnt = this.BindingContextdsScore, student.Count; iPos = this.BindingContextdsScore, student.Position + 1; private void BindingManagerBase_PositionChan

22、ged(object sender, EventArgs e) ShowPosition(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(学号不能为空); else string a = textBox1.Text; / SqlConnection myConnection = new SqlConnection(); SqlConnection myConnection = new SqlConnection(Data Source=.SQLEXPR

23、ESS;AttachDBFilename=|DataDirectory|stu_managesystem.mdf;Integrated Security=True;User Instance=True); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = myConnection; sqlCommand.CommandType = CommandType.Text; sqlCommand.CommandText = select * from student where sno= + a + ; sqlDataA

24、dapter = new SqlDataAdapter(); sqlDataAdapter.SelectCommand = sqlCommand; SqlCommandBuilder builder = new SqlCommandBuilder(sqlDataAdapter); dsScore = new DataSet(); sqlDataAdapter.Fill(dsScore, student); this.BindingContextdsScore, student.PositionChanged += new EventHandler(BindingManagerBase_Posi

25、tionChanged); dataGridView1.DataSource = dsScore; dataGridView1.DataMember = student; ShowPosition(); textBox1.Text = ; 3学生成绩管理,此部分实现了对学生基本成绩添加、修改、删除操作。关键代码与学生信息管理相似4学生成绩查询,此部分实现了对学生成绩的查询操作。 关键代码与学生信息查询相似5.学生课程管理,此部分实现了对学生课程信息的添加、修改、删除操作。关键代码与学生信息管理相似6.学生奖学金管理,此部分实现了对学生已获奖学金信息的添加、修改、删除操作。 关键代码与学生信息管

26、理相似 7.管理员添加,此部分实现了对管理人员添加操作。 关键代码如下namespace stu_managesystem public partial class add_user : Form public add_user() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(用户名不能为空); if (textBox2.Text = ) MessageBox.Show( 密码不为空); else strin

27、g a = textBox1.Text; string b = textBox2.Text; DB_CZ u = new DB_CZ(); string sql = insert into stu_user values( + a + , + b + ); u.ExcSql(sql); MessageBox.Show(添加成功); textBox1.Text = ; textBox2.Text = ; private void add_user_Load(object sender, EventArgs e) 8.关闭,此部分实现了对软件的关闭退出功能关键代码如下 private void 关

28、闭ToolStripMenuItem_Click(object sender, EventArgs e) this.Close(); 七、结论这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。从需求分析阶段不断地搜索资料,想充分了解自己所做的课题在客户或者公司中的需求,由于软件工程这门课学的不深,画数据流图等等软件设计流程做起来很生疏

29、,翻阅课本,和软件工程课老师上课的讲解,总算整了一个像样点的需求分析,经过不断地测试,不断地改进,其中还是发下了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法,为什么要这样写,通过和同学的讨论,找到一些书本上没有的方法,如何数据绑定等等,怎样从数据库中将数据提取出来放到一个文本框或者标签内,这些东西是组成界面的东西,虽然小,但是可以体现整个软件的水平,其实并不需要建多少数据库的表,写多少复杂的存储过程,是不是用了数据库函数,触发器等等,但是至少要弄明白这些东西如果操作,清晰思路才能将功能分清晰。经过一段时间的学习与实践,学生信息理系统基本上开发好了。人如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即是面临找工作,从学习这个专业,到以后做这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1