数据库课程设计Word格式文档下载.docx
- 文档编号:18986668
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:22
- 大小:290.02KB
数据库课程设计Word格式文档下载.docx
《数据库课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
4.1ER模型图3
4.2数据库创建SQL脚本4
4.3建表8
五、系统测试9
6.1用户登录9
6.2学生查询10
6.3教师查询12
6.4管理员界面16
六、总结与展望17
一系统开发背景
在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
但是,我们看到,其实我们学校的学生成绩管理系统在很多方面做的并不是很完善,功能方面也有欠缺,用户界面不够直观。
二需求与功能分析
1:
教师:
登录功能,输入学生成绩,修改学生成绩,提交成绩,提交后不能再修改,统计成绩(各分数段人数、及格率等);
2:
学生:
登录功能,查询自己选修的每门课程基本信息及成绩;
3:
管理员登录后,可以对学生信息、教师信息、课程信息进行维护,导入选课基本数据等。
4:
学生信息包括:
学号、姓名、性别、专业、年级等;
5:
学生成绩信息包括:
学号、课程编号、课程名称、教师工号、教师姓名、分数等;
6:
课程信息,包括课程编号、课程名称、学时等;
7:
教师信息包括:
教师工号、教师姓名、性别、职称、教研室等。
一、基本数据维护功能
1、添加学生的信息。
2、修改学生的信息。
3、删除学生的信息。
4、添加学生的成绩信息。
5、修改学生的成绩信息。
6、删除学生的成绩信息。
7、查询结果的可视化管理。
8、添加教师的信息。
9、修改教师的信息。
10、删除教师的信息。
三概要设计
四数据库设计
实体
属性
学生
学号、姓名、性别、专业、年级、登录密码
教师
教师工号、教师姓名、性别、职称、教研室、登录密码
课程
课程编号、课程名称、学时
管理员
登录号、登录密码
4.1ER模型图
4.2数据库创建SQL脚本
创建“学生表”:
createtable学生表(学号varchar(10),姓名varchar(10),性别varchar
(2)check(性别in(‘男’,‘女’)),专业varchar(20),年级varchar(20),constraint学号_pkprimarykey(学号));
创建“教师表”:
createtable教师表(教师工号varchar(10),教师姓名varchar(20),性别varchar
(2)check(性别in(‘男’,‘女’)),职称varchar(10),教研室varchar(10),constraint教师工号_pkprimarykey(教师工号));
创建“课程表”:
createtable课程表(课程编号varchar(10),课程名称varchar(20),学时int(4),constraint课程编号_pkprimarykey(课程编号));
创建“选课表”:
createtable选课表(学号varchar(10),课程编号varchar(10),教师工号varchar(10),constraint选课表_pkprimarykey(学号,课程编号,教师工号),constraint学号_pkforeignkey(学号)references学生表(学号),constraint课程编号_pkforeignkey(课程编号)references课程表(课程编号),constraint教师工号_pkforeignkey(教师工号)references教师表(教师工号));
创建“授课表”:
createtable授课表(教师工号varchar(10),课程编号varchar(10),constraint授课表_pkprimarykey(教师工号,课程编号),constraint教师工号_pkforeignkey(教师工号)references教师表(教师工号),constraint课程编号_pkforeignkey(课程编号)references课程表(课程编号));
创建“学生成绩”:
createtable学生成绩(学号varchar(10),课程编号varchar(10),教师工号varchar(10),分数int(4),状态varchar(10),constraint学生成绩表_pkprimarykey(学号,课程编号),constraint学号_pkforeignkey(学号)references学生表(学号),constraint课程编号_pkforeignkey(课程编号)references课程表(课程编号));
创建“管理员登录表”:
createtable管理员登录表(登录号varchar(10),登录密码varchar(10),,constraint登录号_pkprimarykey(登录号));
创建“学生登录表”:
createtable学生登录表(登录号varchar(10),登录密码varchar(10),,constraint登录号_pkprimarykey(登录号));
创建“教师登录表”:
createtable教师登录表(登录号varchar(10),登录密码varchar(10),,constraint登录号_pkprimarykey(登录号));
4.3建表
五系统测试
用户登录:
SqlConnectionlo_conn=newSqlConnection();
lo_conn.ConnectionString="
PersistSecurityInfo=False;
Server=(local);
Database=XSGL;
Userid=sa;
pwd=123456"
;
lo_conn.Open();
stringstrName=textBox1.Text;
str=strName;
stringstrPwd=textBox2.Text;
stringstrsql=null,strRole;
if(radioButton1.Checked==true)
{
strRole="
学生"
strsql="
select*from学生登录表whereID='
"
+strName+"
'
andPwd='
+strPwd+"
}
elseif(radioButton2.Checked==true)
教师"
select*from教师登录表whereID='
else
管理员"
select*from管理员登录表whereID='
try
if(lo_conn.State!
=ConnectionState.Open)
SqlCommandlo_cmd=newSqlCommand(strsql,lo_conn);
SqlDataReaderdr=lo_cmd.ExecuteReader();
if(dr.Read())
this.Visible=false;
MenuEnable(strRole);
MessageBox.Show("
你输入的密码不正确!
);
catch(SqlExceptionex)
System.Console.WriteLine("
用户登录出错SqlException:
{0}"
ex.Message);
catch(Exceptionex2)
用户登录出错Exception:
ex2.Message);
finally
lo_conn.Close();
publicvoidMenuEnable(stringstrTem)
if(strTem=="
)
学生f1=new学生();
f1.Show();
elseif(strTem=="
教师f1=new教师();
管理员f1=new管理员();
学生查询:
privatevoidbutton1_Click(objectsender,EventArgse)
stringSno=用户登录.str;
stringstrSql="
select*from学生成绩where学号='
+Sno+"
SqlDataAdaptermyDataAdapter=newSqlDataAdapter(strSql,lo_conn);
DataSetmyDataSet=newDataSet();
myDataAdapter.Fill(myDataSet,"
学生成绩"
if(myDataSet.Tables["
].Rows.Count>
0)
dataGridView1.DataSource=myDataSet.Tables["
].DefaultView;
privatevoidbutton2_Click(objectsender,EventArgse)
stringSno=用户登录.str;
stringstrPwd=textBox3.Text;
stringstrNewPwd=textBox1.Text;
stringstrQNewPwd=textBox2.Text;
if(strQNewPwd==strNewPwd)
SqlDataAdaptermyDataAdapter=newSqlDataAdapter(strSql,lo_conn);
学生登录表"
myDataAdapter.FillSchema(myDataSet,SchemaType.Source,"
DataTablemyDataTable=myDataSet.Tables["
];
DataRowmyDataRow=myDataTable.Rows.Find(Sno);
myDataRow.BeginEdit();
myDataRow["
Pwd"
]=strQNewPwd;
myDataRow.EndEdit();
SqlCommandBuildermyCb=newSqlCommandBuilder(myDataAdapter);
myDataAdapter.Update(myDataSet,"
密码修改成功!
else{
您两次输入的密码不一致!
}
教师界面:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.Data.OleDb;
namespace用户登录
{
publicpartialclass教师:
Form
public教师()
InitializeComponent();
select*from学生成绩where教师工号='
+用户登录.str+"
stringstrSqlNum="
select学号from学生成绩"
stringstrSqlAbt="
selectcount(学号)from学生成绩where分数>
=10and教师工号='
intjg=0,odww=0,wwdls=0,lsdbs=0,bsdyb=0,x=0;
inttotal1=dataGridView1.RowCount-1;
for(inti=0;
i<
dataGridView1.RowCount-1;
i++)
stringfs=dataGridView1.Rows[i].Cells[3].Value.ToString();
intcj=int.Parse(fs);
if(cj>
=0&
&
cj<
60)
odww++;
=60&
70)
wwdls++;
=70&
80)
lsdbs++;
=80&
90)
bsdyb++;
=90)
x++;
label13.Text=x.ToString();
label14.Text=bsdyb.ToString();
label15.Text=lsdbs.ToString();
label16.Text=wwdls.ToString();
label17.Text=odww.ToString();
privatevoidbutton1_Click(objectsender,EventArgse)
stringSno=textBox1.Text;
stringSkcbh=textBox2.Text;
stringSscore=textBox6.Text;
if(radioButton1.Checked==true)
DataRowmyDataRow=myDataTable.NewRow();
学号"
]=Sno;
课程编号"
]=Skcbh;
教师工号"
]=用户登录.str;
分数"
]=Sscore;
myDataTable.Rows.Add(myDataRow);
label7.Text="
添加数据成功!
label7.ForeColor=Color.Red;
]=用户登录.str;
更新数据成功!
{SqlConnectionlo_conn=newSqlConnection();
stringKno=textBox2.Text;
and课程编号='
+Kno+"
and教师工号='
+用户登录.str+"
DataTabledata1=newDataTable();
myDataAdapter.Fill(data1);
strin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)