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

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

学生成绩管理系统

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

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

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

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

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

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

然后录入成绩

确认后界面显示

再录入一个成绩

确认后显示

主要代码:

<%
		<%
		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.显示学生各科平均成绩,主要是用了数据的语句就可以很方便的获取
界面:

主要代码:

@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.显示学生所有信息,比较简单就不详细讲
界面:

主要代码:


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

主要代码:

		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的学习有很到的帮助,能写出自己想要的效果还是很开心的。我写录入成绩,写了很久,可以后真的很开心,觉得熬夜没有白费了!经过这次课设,就希望课设的时候没有考试!!这样就不用写得那么赶,还可以完善页面一下,可以做更多的容错处理
原文地址:https://www.cnblogs.com/yangxy/p/7063044.html