Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

时间:2022-05-04 12:45:20

一、团队课程设计博客链接

学生成绩管理系统

二、个人负责模块或任务说明

  • 学生成绩录入
  • 显示所有学生信息
  • 显示各科平均成绩
  • 显示学生成绩(按降序排序)

三、自己的代码提交记录截图

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

四、自己负责模块或任务详细说明

1.学生成绩录入首先要选择所要录入的科目,然后需要先从数据库里获得学生的学号及姓名,每录入一个成绩需要确认,确认后才又从数据库读取信息,继续录入成绩,达到界面的比较美观

下面是一开始的Java成绩录入的界面

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

然后录入成绩

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

确认后界面显示

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

再录入一个成绩

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

确认后显示

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

主要代码:

<%
<%
StudentDao student = new StudentDaoJDBC();
List<Student> studentList=student.findAllStudent();
for(Student e:studentList)
{
String score=String.valueOf(e.getMath());
//out.println(score);
%>
<form name="postForm" action="EnterStudentMathScore.jsp" " method="post">
<tr>
<td><input type="text" id="a" name="stuno"
value=<%=e.getStuno()%> readonly="true"></td>
<td><input type="text" id="stuname" name="stuname"
value=<%=e.getName() %> readonly="true"></td> </tr>
<%
String stscore =request.getParameter("stuscore");
String stno =request.getParameter("stuno");
StudentDao sdao=new StudentDaoJDBC();
int s = sdao.addStudentScore(stno,"math",stscore);
Student stu=sdao.findBystuno(e.getStuno());
double math=stu.getMath();
double score1=math+e.getSport()+e.getJava();
String stuno =String.valueOf(e.getStuno());
String score2=String.valueOf(score1);
int s1 = sdao.addStudentScore(stuno,"allscore",score2);
%>
<td><input type="text" id="stuscore" name="stuscore"
value=<%=math%>></td>
<input type="submit" value="确认" /><br>
</form>
<% }
%>

2.显示学生各科平均成绩,主要是用了数据的语句就可以很方便的获取

界面:

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

主要代码:

@Override
public double getCourseAv(String course) {
// TODO Auto-generated method stub
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
double avscore=0.0;
String sql = "select avg("+course+") from students";//表中有id和name这列
try {
conn = JDBCUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
avscore=rs.getDouble("avg("+course+")");
}
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(rs,stat, conn);
}
return avscore;
}

3.显示学生所有信息,比较简单就不详细讲

界面:

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

主要代码:


4.显示学生成绩按成绩降序排序,也是主要用"select * from students order by allscore desc" sql语句

界面:

Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

主要代码:

		public List<Student> showSortAchievement() {
// TODO Auto-generated method stub
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
Student stu=null;
List<Student> students=new ArrayList<Student>();
String sql = "select * from students order by allscore desc";
try {
conn = JDBCUtil.getConnection();
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
stu=new Student(rs.getInt("stuno"),rs.getString("name"),
rs.getDouble("math"),rs.getDouble("sport"),rs.getDouble("java"),rs.getDouble("allscore"));
students.add(stu);
}
}catch (SQLException sqle) {
sqle.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtil.realeaseAll(rs,stat, conn);
}
return students;
}

五、课程设计感想

这次课设时间比较赶,感觉时间再多一点可以写得更完善。课设设计过程对java,数据库,Jsp的学习有很到的帮助,能写出自己想要的效果还是很开心的。我写录入成绩,写了很久,可以后真的很开心,觉得熬夜没有白费了!经过这次课设,就希望课设的时候没有考试!!这样就不用写得那么赶,还可以完善页面一下,可以做更多的容错处理