一、团队课程设计博客链接
二、个人负责模块或任务说明
学生成绩录入
显示所有学生信息
显示各科平均成绩
显示学生成绩(按降序排序)
三、自己的代码提交记录截图
四、自己负责模块或任务详细说明
1.学生成绩录入首先要选择所要录入的科目,然后需要先从数据库里获得学生的学号及姓名,每录入一个成绩需要确认,确认后才又从数据库读取信息,继续录入成绩,达到界面的比较美观
下面是一开始的Java成绩录入的界面
然后录入成绩
确认后界面显示
再录入一个成绩
确认后显示
主要代码:
StudentDao student = new StudentDaoJDBC();
List studentList=student.findAllStudent();
for(Student e:studentList)
{
String score=String.valueOf(e.getMath());
//out.println(score);
%>
value= readonly="true">
value= readonly="true">
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);
%>
value=>
}
%>
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 showSortAchievement() {
// TODO Auto-generated method stub
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
Student stu=null;
List students=new ArrayList();
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的学习有很到的帮助,能写出自己想要的效果还是很开心的。我写录入成绩,写了很久,可以后真的很开心,觉得熬夜没有白费了!经过这次课设,就希望课设的时候没有考试!!这样就不用写得那么赶,还可以完善页面一下,可以做更多的容错处理