您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 安工大数据库课程设计
1数据库系统及应用《课程设计》学号:101842199班级:软1142班姓名:赵立兵指导教师:甘丽题目名称:教学管理安徽工业大学工商学院2013-12-212目录1、概述··········································032、需求分析······································033、概念模型设计···································054、逻辑设计······································065、源代码及查询截图·······························065.1登录系统界面代码·····························065.2教学管理界面代码·····························085.2.1学生信息表操作·························095.2.2教师信息表操作·························105.2.3课程信息表操作·························135.2.4成绩信息表操作·························155.2.5及格信息操作···························175.3注册帐号界面代码·····························185.4修改密码界面代码·····························195.5建立数据库代码·······························205.6部分运行结果截图·····························236、设计总结······································293一、概述设计背景:用VisualStudio2008建立教学管理系统。设计目的:实现教学管理客户端,方便管理教学信息。设计内容:①、按学号、姓名、系名称查询学生基本信息。②、按姓名、系名称查询教职工基本信息。③、按课程号、课程名称、上课教师姓名查询课程基本信息。④、按学号、学生姓名、课程号、课程名称、教师姓名查询学生成绩。⑤、按课程号、课程名称查询不及格学生学号、姓名。二、需求分析功能分析:建立教学管理系统,就应该有登陆的客户端界面,跟登陆后的管理界面。在登录界面需要有可以注册用户的连接和修改密码的连接,这些可仿照现在流行的QQ客户端来设立。在登录成功后,在管理界面可以对数据库里的教学信息进行增删改查,由于设计要求是有四个基本信息表,所以要有可以对这四个表分别进行增删改查的界面,最后还需要有一个有个可以根据相关信息查询不及格的学生。综上所述,该教学管理系统有:登录界面、管理界面。在界面的相关按钮上实现对数据库的访问,完成相关操作!工作流图:开始数据库?界面一:输入帐号、密码界面二:五个管理小窗口错误正确教学信息增删改查数据库退出4数据流图:User表admin_NoPass_NoName_NaId_NoClass_Na登陆账号:admin登录密码:password注册修改验证学生信息:(学号、姓名、性别、年龄、系名称、班级、家庭住址)教师信息:(:职工号、姓名、性别、年龄、手机、工资、住址)课程信息:(课程号、课程名、任课教师、学分、教室)成绩信息:(学号、课程号、成绩)snosnamessexsagesadeptsclasssaddresstnotnametsextagetphonetmoneytaddresscnocnamecteacharcreditcroomsnocnosgrade及格信息:(学号、姓名、课程、教师分数)Student表Techear表Course表Grade表增删改查增删改查增删改查增删改查5数据字典:三、概念模型设计(E-R图)年龄教师成绩课程学生系专业姓名性别住址工资工号课号课名学分教室分数课号学号学号姓名性别年龄专业班级地址教学选修管理属于6四、逻辑设计关系模式:User(admin_No,Pass_No,Name_Na,Id_No,Class_Na)满足范式:BCN范式.Student(sno,sname,ssex,sage,sadept,sclass,saddress)满足范式:3NF范式.Teachar(tno,tname,tsex,tage,tphone,tmoney,taddress)满足范式:BCN范式.Course(cno,cname,cteachar,credit,croom)满足范式:3NF范式.Grade(sno,cno,sgrade)满足范式:2NF范式.(下滑直线的是主键,下滑双波浪线的即使主键又是外键)五、源代码及查询截图(说明:本次设计是在C#平台实现的,共有四个窗口界面,下面分别列出各个窗口代码)Form1代码(登录窗口):usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace数据库课程设计{publicpartialclassForm1:Form{SqlConnectionmyCon;SqlCommandselectCMD;SqlDataReaderpass;Form2f2;Form3f3;Form4f4;publicForm1(){7myCon=newSqlConnection(PersistSecurityInfo=false;Userid=sa;pwd=101842199;database=Manage_System;server=(local));try{myCon.Open();}catch(Exception){MessageBox.Show(请先启动服务器\n\n再重新启动该程序!,服务器连接失败,MessageBoxButtons.OK,MessageBoxIcon.Error);}f2=newForm2(myCon);f3=newForm3(myCon);f4=newForm4(myCon);InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){//登录按钮if((comboBox1.Text!=)&&(textBox2.Text!=)){selectCMD=newSqlCommand(selectPass_NofromUserswhereadmin_No=+comboBox1.Text,myCon);try{pass=selectCMD.ExecuteReader();pass.Read();try{if(textBox2.Text==pass[0].ToString()){this.Hide();f2.Show();}else{MessageBox.Show(密码错误!,登录失败!,MessageBoxButtons.OK,MessageBoxIcon.Error);}}catch(Exception){MessageBox.Show(账号不存在!,帐号错误!,MessageBoxButtons.OK,MessageBoxIcon.Warning);}pass.Dispose();}catch(Exception){MessageBox.Show(请先启动服务器\n\n再重新启动该程序!,服务器连接失败,MessageBoxButtons.OK,MessageBoxIcon.Error);}}else{MessageBox.Show(请输入完整的帐号和密码!,输入错误,MessageBoxButtons.OK,MessageBoxIcon.Warning);}}privatevoidbutton2_Click(objectsender,EventArgse){//重置按钮comboBox1.Text=;textBox2.Text=;comboBox1.Focus();}privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)8{//注册帐号f3.Show();}privatevoidlinkLabel2_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse){//忘记密码f4.Show();}privatevoidForm1_FormClosed(objectsender,FormClosedEventArgse){//退出程序myCon.Close();Application.Exit();}}}Form2代码(教学信息管理窗口):usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace数据库课程设计{publicpartialclassForm2:Form{SqlConnectionMyCon;SqlDataAdapterOrderMessage;stringTitle;stringDemand;publicForm2(SqlConnectionmyCon){MyCon=myCon;InitializeComponent();}/***************************学生信息***************************/privatevoidbutton1_Click(objectsender,EventArgse){//查询stringSCX;Title=snoas学号,snameas姓名,ssexas性别,sageas年龄,sadeptas专业,sclassas班级,saddressas家庭住址;if(checkBox1.Checked||checkBox2.Checked){if(checkBox1.Checked){Demand=sno='+textBox1.Text+';9if(checkBox3.Checked){Demand+=andsadept='+textBox5.Text+';}}else{Demand=sname='+textBox2.Text+';if(checkBox3.Checked){Demand+=andsadept='+textBox5.Text+';}}SCX=select+Title+fromStudentwhere+Demand;}elseif(checkBox3.Checked){Demand=sadept='+textBox5.Text+';SCX=select+Title+fromStudentwhere+Demand;}else{SCX=select+Title+fromStudent;}OrderMessage=newSqlDataAdapter(SCX,MyCon);DataSetTable=newDataSet();OrderMessage.Fill(Table);this.dataGridView1.DataSource=Table.Tables[0].DefaultView;}privatevoidbutton2_Clic
本文标题:安工大数据库课程设计
链接地址:https://www.777doc.com/doc-5589397 .html