数据库应用课设090502209.doc_第1页
数据库应用课设090502209.doc_第2页
数据库应用课设090502209.doc_第3页
数据库应用课设090502209.doc_第4页
数据库应用课设090502209.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

武汉工业学院2011-2012学年 第 1学期数据库应用系统设计考核报告 课题:学生成绩管理系统学生学号: 090502209 学生姓名: 王红波 所在班级: 信管二班 任课教师: 林菁老师 一 综述项目题目 学生成绩管理系统开发环境 数据库的设计选用的为微软的Microsoft SQL Server 2005,开发环境采用的为Visual Studio 2008。二 需求分析 1问题陈述 为了达到对多数据表进行操作,我们创建学生成绩表、学生基本信息表和学生课程表、以及管理员四表。然后建立关联,即学生成绩表与学生基本信息表进行关联,学生成绩表与学生课程表进行关联,与此同时,还有一张用户表记录此管理系统的用户。2ER图 学生成绩管理系统整体ER图院 系爱 好I D学 生 基 本 信 息姓 名性 别必 修学 生 成 绩成 绩课程代号学 号课程名课程代号课程通 过3总体结构模块图。功能选择模块查询模块添加模块删除模块修改模块用户登录三 系统设计1.数据库逻辑设计 首先新建学生基本信息表,包括学号,姓名,性别,院系,专业,爱好字段,其相应的二维关系表如下图所示:最后将数据库建立关联:学生成绩表与基本信息表建立关联(C.学号-J.学号)。学生成绩表与课程表建立关联(C.课程代号-K.课程代号)。在这三个表中课程代号,学号为关键字且没有重复,在这三个表中各字段的关系为:为所有的关系都达到BCNF范式,我们把表分为两个关系模式,一个关系模式为K(课程代号,课程名,学分,是否必修,前驱课程,后续课程),一个关系模式为J(学号,姓名,性别,院系,专业,爱好)。一个关系模式为C(学号,课程代号,成绩)删 除添 加学生管成绩理系统修改成绩表,基本信息表,课程表成绩表,基本信息表,课程表成绩表,基本信息表,课程表成绩表,基本信息表,课程表登录框按学号按学号按学号查 询按学号用户密码错误学生成绩管理系统顶层数据流1.1整体数据流图四 系统实施及编程以下主要讲解系统管理和成绩管理模块:登陆界面:验证用户名密码的格式和正确性 从略“添加用户”主要代码:private void btnYes_Click(object sender, EventArgs e) string userName = txtName.Text; string password = txtPwd.Text; string leibie= ; if (radioButton1.Checked) leibie = radioButton1.Text; else leibie = radioButton2.Text; string connString = Data Source=localhost;Initial Catalog=MySchool;User ID=sa; SqlConnection connection = new SqlConnection(connString); /获取用户名和密码匹配的行的数量的SQL语句 string sql =String.Format(select count(*) from yonghu where userName=0and password=1and leibie=2,userName,password,leibie ); try connection.Open();/ 打开数据库连接 SqlCommand command = new SqlCommand(sql, connection); /创建 Command 对象 int num = (int)command.ExecuteScalar();/执行查询语句,返回匹配的行数 if (num 0) if (leibie = radioButton1.Text) /如果有匹配的行,则表明用户名和密码正确 / MessageBox.Show(欢迎进入成绩管理系统!, 登录成功, MessageBoxButtons.OK, MessageBoxIcon.Information); From1 mainForm = new From1();/ 创建主窗体对象 mainForm.Show();/ 显示窗体 this.Visible = false; / 登录窗体隐藏 else MessageBox.Show(欢迎进入成绩管理系统!, 登录成功, MessageBoxButtons.OK, MessageBoxIcon.Information); MainFrm mainForm = new MainFrm();/ 创建主窗体对象 mainForm.Show();/ 显示窗体 this.Visible = false; / 登录窗体隐藏 else MessageBox.Show(您输入的用户名或密码错误!, 登录失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBox.Show(ex.Message, 操作数据库出错!,MessageBoxButtons.OK, MessageBoxIcon.Exclamation); finally connection.Close();/ 关闭数据库连接 private void btnCancel_Click(object sender, EventArgs e) txtName.Text = ; txtPwd.Text = ; txtName.Focus(); 成绩查询:课程查询:查找功能代码:private void select_course_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“mySchoolDataSet6.CourseMsg”中。您可以根据需要移动或移除它。 this.courseMsgTableAdapter.Fill(this.mySchoolDataSet6.CourseMsg); GetAllInfo(strSql1); private void GetAllInfo(string s) mycon = new SqlConnection(strCon); myda = new SqlDataAdapter(s, mycon); myds = new DataSet(); myda.Fill(myds); dataGridView1.DataSource = myds.Tables0; SqlConnection mycon; SqlDataAdapter myda; DataSet myds; string strCon = Data Source=localhost;Initial Catalog=MySchool;User ID=sa; string strSql1 = Select CourseID as 课程号,CourseName as 课程名,CourseClass as 课程类别,Required as 必修,Credit as 学分,PrelectionCredit as 理论学时,ExperimentCredit as 实验学时 from CourseMsg; private void button1_Click(object sender, EventArgs e) string FindSql = string.Format(Select CourseID as 课程号,CourseName as 课程名,CourseClass as 课程类别,Required as 必修,Credit as 学分,PrelectionCredit as 理论学时,ExperimentCredit as 实验学时 from CourseMsg where CourseID=0or CourseName=1, textBox2.Text, textBox1.Text); GetAllInfo(FindSql); 按姓名查询:学生成绩管理:度取窗体时,同时读取数据库数据:private void select_score_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“mySchoolDataSet7.ScoreMsg”中。您可以根据需要移动或移除它。 this.scoreMsgTableAdapter.Fill(this.mySchoolDataSet7.ScoreMsg); GetAllInfo(strSql1); private void GetAllInfo(string s) mycon = new SqlConnection(strCon); myda = new SqlDataAdapter(s, mycon); myds = new DataSet(); myda.Fill(myds); dataGridView1.DataSource = myds.Tables0; SqlConnection mycon; SqlDataAdapter myda; DataSet myds; string strCon = Data Source=localhost;Initial Catalog=MySchool;User ID=sa; string strSql1 = Select StudentMsg.StudentNo as 学号,CourseMsg.CourseID as 课程号,StudentMsg.StudentName as 姓名,CourseMsg.CourseName as 课程名,Score as 成绩 from ScoreMsg,StudentMsg,CourseMsg where StudentMsg.StudentNo=ScoreMsg.StudentNo and CourseMsg.CourseID=ScoreMsg.CourseID; private void button1_Click(object sender, EventArgs e) string FindSql = string.Format(Select StudentMsg.StudentNo as 学号,StudentMsg.StudentName as 姓名,CourseMsg.CourseID as 课程号,CourseMsg.CourseName as 课程名,Score as 成绩 from ScoreMsg,StudentMsg,CourseMsg where (StudentMsg.StudentNo=0 or CourseMsg.CourseID=1or StudentMsg.StudentName=2or CourseMsg.CourseName=3)and StudentMsg.StudentNo=ScoreMsg.StudentNo and CourseMsg.CourseID=ScoreMsg.CourseID,textBox3.Text, textBox4.Text, textBox1.Text, textBox2.Text); GetAllInfo(FindSql); 五 系统调试、结果分析1.输入用户名和密码,进入学生成绩管理系统的功能选择。2.点击”添加学生成绩”标签到记录的添加界面,输入要添加的学生记录。点击”返加菜单” 标签返加到功能界面。(打开数据表,添加成功)3点击”按姓名查询”标签到查询记录的界面,输入要查询的姓名。4点击”按课程查询”标签到查询记录的界面,输入要查询的课程名。5.点击”学生成绩管理”标签到修改记录的界面,输入要删除的学生学号,可以直接在数据表中修改。点击”返加菜单” 标签返加到功能界面。(打开数据表,修改或者查询成功)6.验证结束,运行正常。(以上只是我负责的功能模块)六 实验总结 这次试验是我和杜芊锐同学合作完成的,她负责管理员那一块的功能实现,我负责登陆和学生界面那一块功能的实现。一开始的需求分析是我们一起讨论后决定的。最后虽然做出来了,但是整个系统还是有很多不足之处。这是由于我们知识的缺乏所导致的,以后再只是更加完善之后再做修改。通过本次数据库系统应用的课程实践环节不仅加强了对C#这门面向对象语言的灵活应用及知识点的理解,而且熟练了对数据库Microsoft SQL Sever 2005以及对Microsoft Visual Studio 2010的各项操作。同时也很大程度上提高了自己的动手能力和独立思考能力,更学会了如何与小组成员团结合作共同完成本软件的开发工作。本实例分别从数据库设计以及应用程序设计的角度详细描述了如何开发图书借阅管理系统应用程序。从本实例中我学到了各种控件包括Label,Textbox,ComboBox,Button,RichTextBox,DataGrideView,Form

温馨提示

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

评论

0/150

提交评论