sql学生成绩管理系统.docx
《sql学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《sql学生成绩管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
sql学生成绩管理系统
一引言
在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。
计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。
随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快、准、精、才能发挥其价值。
所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。
人工操作必将被计算机代替。
有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。
还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的
学校学生成绩管理系统是针对数据库课程设计所做的一个小型数据库。
它也是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师和管理员可以打击查询、修改、删除学生的成绩信息,能够方便了解学生总体情况。
同时在做课程设计的过程中,可以巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的
(1)熟练掌握一种数据库系统SQLSERVER的使用。
(2)通过设计实际的数据库系统的应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二总体设计
1设计要求
系统名称:
学生成绩管理系统
使用语言:
C#程序设计语言
使用软件:
MicrosoftSQLServer2005、MicrosoftVisualStudio2005
针对给定的数据库应用问题-学生成绩管理系统,全面运用数据库原理课程所学知识,从系统需求分析着手,进行数据库的概念设计、逻辑设计、物理设计、系统的总体设计和模块设计、编程、调试,并在各个环节中提供相关的文档。
2技术要求
主要进行数据库设计,并能实现简单的前后台连接,即可以通过前台界面查询、录入、删除、修改数据。
系统功能基本要求:
学生信息,包括学号,姓名,民族,性别,年龄等;课程信息,包括课程号、课程名,学分等;教师信息,包括教师编号、姓名,性别,民族,年龄,毕业院校,课程号等;成绩信息,包括学生学号,课程号,课程成绩等。
3主要功能
主要提供管理员对学生信息、教师信息、课程信息及用户的管理,如图1所示
图1功能模块图
管理员登陆:
每个用户可以注册成为管理员,对学生、课程及成绩信息进行管理。
学生管理:
对学生信息的进行添加,删除,修改,查询操作。
教师管理:
对教师信息的进行添加,删除,修改,查询操作。
课程管理:
对课程信息的进行添加,删除,修改,查询操作。
成绩管理:
对学生成绩信息的进行添加,删除,修改,查询操作。
用户管理:
对用户进行删除操作。
4可扩展性
能够适应应用要求的变化和修改,具有灵活的可扩充性。
5安全性
具有较高的安全性。
系统对不同的用户提供不同的功能模块,只有具有高级权限的部门管理者或维护人员用户才能对用户和图书信息进行增加、修改和删除等管理,一般的读者用户只能查看图书信息和借阅情况。
还应具有一定的保护机制,防止系统被恶意攻击,信息被恶意修改和窃取。
有完善的备份机制,如果系统被破坏应该能快速恢复。
三数据库设计
1四个表的E-R实体模型图分析
用E-R图总体描述实体,如下图2所示
图2E-R?
图
在教学管理中,学校开设若干门学科,一门课程可以由多个教师来教,每个学生
也需要学习其中的几门课程,因此,教学管理中涉及的对象有学生,教师和课程。
用E-R图描述他们之间的联系。
其中学生和课程之间是多对多的关系,教师和课程是多对一有关系
2设计数据表
通过E-R图分析,现在已经对数据库有一个很清梦的认识,此学生成绩信息表中有5个表需要建立
学生信息表(Student),包括学号(Sno)、姓名(Sname)、民族(Snation)、性别(Ssex)、年龄(Sage);
教师信息表(Teacher),包括教师编号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、毕业院校(Tcollege)、讲授课程(Ton);
课程信息表(Course),包括课程编号(Cno)、课程名称(Cname),课程学分(Cgrade)
学生成绩表(Grade)、包括学生学号(Sno)、课程编号(Cno)、成绩(Ggrade)
用户表(Users),包括用户名(Uname)、密码(Umima)
3实际操作
建立数据库US,建立以下各表
(1)学生信息表
包括学号、姓名、民族、性别、年龄等,用于存储学生的主要信息,可以通过前台对学生表数据进行增加、删除、修改、查询操作。
学生表的主键是Sno(学生学号)。
学生表是本数据库的重要信息表。
表1学生表
(2)教师基本信息
包括教师编号、姓名、性别、年龄、毕业院校、讲授课程等。
用于存储教师的主要信息,可以通过前台对课程表数据进行增加、删除、修改、查询操作。
教师表的主键是Tno(教师编号),外键是Ton(课程号)教师表是本数据库的重要信息表。
表2教师表
(3)课程基本信息
包括课程编号、课程名称,课程学分等,用于存储课程的主要信息,可以通过前台对课程表数据进行增加、删除、修改、查询操作。
课程表的主键是Cno(教师编号),外键是Ton(课程号),课程表是本数据库的重要信息表。
表3课程表
(4)学生成绩信息
包括学生学号、课程编号、成绩等。
用于存储学生成绩的主要信息,可以通过前台对成绩表数据进行增加、删除、修改、查询操作。
课程表的主键是(Sno(学生学号),Cno(课程编号),成绩表是本数据库的重要信息表。
表4成绩表
(5)用户管理信息
包括用户名、密码等,用于存储用户信息,在登录时进行验证。
表5用户表
四各功能模块设计
1建库代码
--创建数据库SU
createdatabaseSU;
--连接数据库SU
useSU;
--创建Student表
createtableStudent(
Snochar(10)primarykey,
Snamevarchar(8)notnull,
Snationvarchar(20)notnull,
Ssexchar
(2)check(Ssexin('男','女')),
Sagesmallintcheck(Sage>=5andSage<=30)
);
--创建Course表
createtableCourse(
Cnochar(3)primarykey,
Cnamechar(36)notnull,
Cgradesmallint,check(Cgrade>=0andCgrade<=6),
)
--创建Teacher表
createtableTeacher(
Tnochar(3)primarykey,
Tnamevarchar(8)notnull,
Tsexchar
(2)check(Tsexin('男','女')),
Tagesmallintcheck(Tage>=25andTage<=60),
Tcollegevarchar(36),
Tonchar(3),
foreignkey(Tno)referencesCourse(Cno)
);
--创建Grade表
createtableGrade(
Snochar(10),
Cnochar(3),
Ggradeintcheck(Ggrade>=0andGgrade<=100)
primarykey(Sno,Cno)
foreignkey(Sno)referencesStudent(Sno)
ondeletecascade
onupdatecascade,
foreignkey(Cno)referencesCourse(Cno)
ondeletecascade
onupdatecascade,
)
--创建用户表
createtableusers(
Unamevarchar(8)primarykey,
Umimavarchar(20)notnull
)
2C#后台主要代码
(1)学生信息添加模块,输入要添加的学生信息,点击添加键即可将学生信息添加到学生表中,具体效果如图3所示
图3学生信息添加效果图
{
try
{
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read()==true)
{
Response.Write("");
conn.Close();
}
else
{
conn.Close();
conn.Open();
conn.Close();
Response.Write("");
}
}
catch(Exceptionex)
{
Response.Write("");
}
}
(2)学生信息删除模块,直接点击删除键,则将该学生信息从学生表中删除,具体效果如图4所示
图4学生信息删除效果图
protectedvoidshanchu(objectsender,EventArgse)
{
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
cmd.ExecuteNonQuery();
conn.Close();
Response.Write("");
}
(3)学生信息修改模块,修改学生信息,点击提交键,具体效果如图5所示
图5学生信息编辑效果图
{
SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
this.IsPostBack)
{
SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
conn.Open();
stringsql=@"select*fromstudentwhereSno='"+UserId+"'";
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read())
{
}
conn.Close();
}
}
protectedvoidtijiao(objectsender,EventArgse)
{
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
cmd.ExecuteNonQuery();
conn.Close();
Response.Write("");
}
}
(4)学生信息搜索模块,输入要查询的学生的学号,点出搜索即可,具体效果如图6所示
图6学生信息搜索效果图
protectedvoidButtonSearch_Click(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
stringsql="";
{
sql=@"select*fromStudentwhereSnolike'%'";
}
else
{
}
DataSetds=newDataSet();
con.Open();
SqlDataAdaptersda=newSqlDataAdapter(sql,con);
sda.Fill(ds);
GridView1.DataSource=ds;
GridView1.DataBind();
}
(5)登录后台代码,具体效果如图7所示
图7学生信息添加效果图
ProtectedvoidLoginOK_Click(objectsender,ImageClickEventArgse)
{
SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["connString"]);
conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read()==true)
{
conn.Close();
Response.Redirect("Default.aspx");
}
else
{
Response.Write("");
}
}
(6)学生信息显示前台及后台代码
前台代码:
DOCTYPEhtmlPUBLIC"-//W3C
无标题页
学生信息显示:
|
学生学号: TextBoxID="studentID"runat="server">
TextBox> ButtonID="ButtonSearch"runat="server"OnClick="ButtonSearch_Click"Text="搜索"/>
|
20px">
GridViewID="GridView1"runat="server"AutoGenerateColumns="False"Width="100%"OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
BoundFieldDataField="Sno"HeaderText="学号"/>
BoundFieldDataField="Sname"HeaderText="姓名"/>
BoundFieldDataField="Snation"HeaderText="民族"/>
BoundFieldDataField="Ssex"HeaderText="性别"/>
BoundFieldDataField="Sage"HeaderText="年龄"/>
TemplateFieldHeaderText="修改/删除">
id=<%#DataBinder.Eval(Container.DataItem,"Sno")%>">删除/修改
TemplateField>
GridView>
LinkButtonID="Stianjia"runat="server"PostBackUrl="~/ST_studentadd.aspx">学生添加
LinkButton>
|