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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库应用课设090502209.docx

1、数据库应用课设090502209数据库应用课设090502209武汉工业学院2011-2012学年 第 1学期数据库应用系统设计考核报告 课题:学生成绩管理系统学生学号: 090502209 学生姓名: 王红波 所在班级: 信管二班 任课教师: 林菁老师 一 综述项目题目 学生成绩管理系统开发环境 数据库的设计选用的为微软的Microsoft SQL Server 2005,开发环境采用的为Visual Studio 2008。二 需求分析 1问题陈述 为了达到对多数据表进行操作,我们创建学生成绩表、学生基本信息表和学生课程表、以及管理员四表。然后建立关联,即学生成绩表与学生基本信息表进行关联

2、,学生成绩表与学生课程表进行关联,与此同时,还有一张用户表记录此管理系统的用户。2ER图 学生成绩管理系统整体ER图院 系爱 好I D学 生 基 本 信 息姓 名性 别必 修学 生 成 绩成 绩课程代号学 号课程名课程代号课程通 过3总体结构模块图。三 系统设计1.数据库逻辑设计 首先新建学生基本信息表,包括学号,姓名,性别,院系,专业,爱好字段,其相应的二维关系表如下图所示:最后将数据库建立关联:学生成绩表与基本信息表建立关联(C.学号-J.学号)。学生成绩表与课程表建立关联(C.课程代号-K.课程代号)。在这三个表中课程代号,学号为关键字且没有重复,在这三个表中各字段的关系为:为所有的关系

3、都达到BCNF范式,我们把表分为两个关系模式,一个关系模式为K(课程代号,课程名,学分,是否必修,前驱课程,后续课程),一个关系模式为J(学号,姓名,性别,院系,专业,爱好)。一个关系模式为C(学号,课程代号,成绩)删 除添 加学生管成绩理系统修改成绩表,基本信息表,课程表成绩表,基本信息表,课程表成绩表,基本信息表,课程表成绩表,基本信息表,课程表登录框按学号按学号按学号查 询按学号用户密码错误学生成绩管理系统顶层数据流1.1整体数据流图四 系统实施及编程以下主要讲解系统管理和成绩管理模块:登陆界面:验证用户名密码的格式和正确性 从略“添加用户”主要代码:private void btnYe

4、s_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 conn

5、ection = 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 = (

6、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 Messag

7、eBox.Show(欢迎进入成绩管理系统!, 登录成功, MessageBoxButtons.OK, MessageBoxIcon.Information); MainFrm mainForm = new MainFrm();/ 创建主窗体对象 mainForm.Show();/ 显示窗体 this.Visible = false; / 登录窗体隐藏 else MessageBox.Show(您输入的用户名或密码错误!, 登录失败, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBo

8、x.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)

9、/ 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); data

10、GridView1.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 理论学时,E

11、xperimentCredit 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 C

12、ourseName=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);

13、 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=MyS

14、chool;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

15、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 Student

16、Msg.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.点击”添加学生成绩”标签到记录的添加界面,输入要添加的学生记录。点击”返加菜单” 标签返加到功能界面

17、。(打开数据表,添加成功)3点击”按姓名查询”标签到查询记录的界面,输入要查询的姓名。4点击”按课程查询”标签到查询记录的界面,输入要查询的课程名。5.点击”学生成绩管理”标签到修改记录的界面,输入要删除的学生学号,可以直接在数据表中修改。点击”返加菜单” 标签返加到功能界面。(打开数据表,修改或者查询成功)6.验证结束,运行正常。(以上只是我负责的功能模块)六 实验总结 这次试验是我和杜芊锐同学合作完成的,她负责管理员那一块的功能实现,我负责登陆和学生界面那一块功能的实现。一开始的需求分析是我们一起讨论后决定的。最后虽然做出来了,但是整个系统还是有很多不足之处。这是由于我们知识的缺乏所导致的

18、,以后再只是更加完善之后再做修改。通过本次数据库系统应用的课程实践环节不仅加强了对C#这门面向对象语言的灵活应用及知识点的理解,而且熟练了对数据库Microsoft SQL Sever 2005以及对Microsoft Visual Studio 2010的各项操作。同时也很大程度上提高了自己的动手能力和独立思考能力,更学会了如何与小组成员团结合作共同完成本软件的开发工作。本实例分别从数据库设计以及应用程序设计的角度详细描述了如何开发图书借阅管理系统应用程序。从本实例中我学到了各种控件包括Label,Textbox,ComboBox,Button,RichTextBox,DataGrideVi

19、ew,FormStatus,toolScrip,ToolScripButton,DateTimePicker,ToolScripMenuItem,TabControl等的使用方法。该实例采用Microsoft Visual Studio 2010以及Microsoft SQL Sever 2005开发,由于C/S架构的应用程序多偏重于操作,因而需要充分考虑用户的需要,尽可能在界面中提供完善的功能,并且能够降低用户的操作难度。本系统采用三层架构的编程思想,通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。为区分层次的目的即为了“高内聚,低耦

20、合”。各层的作用如下:数据访问层主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。业务逻辑层主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑的处理。表示层位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 在前面建立的数据访问以及业务逻辑处理的那些类库提供了我们在应用程序中大部分的操作方法,我们在后面的窗体中主要应相应功能调用相对应的方法就可以了,不需要再多写繁杂的程序,提高了代码的重用性。三层架构的编程思想为今后的大型程序开发打下了良好的基础。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2