package cc.bean.sport.daoImpl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import cc.bean.sport.DBconect.JdbcConnect;
import cc.bean.sport.dao.SportDAO;
import cc.bean.sport.vo.Record;
import cc.bean.sport.vo.Result;
public class SportDAOImpl implements SportDAO
{
// 根据sId查询出该学校的所有信息
public List<Record> queryBysId(String id) throws Exception
{
String sql = null;//sql语句
PreparedStatement pst = null;
JdbcConnect jdbc = null;
ResultSet rs = null;
Record record = null;
List<Record> all = new ArrayList<Record>();
sql = "SELECT sName,proName,proInt,proResult FROM record WHERE sId=?";
try
{
jdbc = new JdbcConnect();
pst = jdbc.getConnection().prepareStatement(sql);
pst.setString(1, id);
rs = pst.executeQuery();
while ( rs.next() )
{
record = new Record();
record.setSName((String) rs.getString("sName"));
record.setProName((String) rs.getString("proName"));
record.setProResult((String) rs.getString("proResult"));
record.setProInt((Integer) rs.getInt("proInt"));
all.add(record);
}
pst.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jdbc.close();
}
return all;
}
// 更新学校比赛项目的成绩及单项积分
public void updateBasic(Record record) throws Exception
{
String sql = null;//sql语句
PreparedStatement pst = null;
JdbcConnect jdbc = null;
sql = "UPDATE record SET proResult=?,proInt=? WHERE sId=? and proName=?";
try
{
jdbc = new JdbcConnect();
pst = jdbc.getConnection().prepareStatement(sql);
pst.setString(1, record.getProResult());
pst.setInt(2, record.getProInt());
pst.setString(3, record.getSId());
pst.setString(4, record.getProName());
pst.executeUpdate();
pst.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jdbc.close();
}
}
// 统计某个学校的总分
public void updateSumInt(Result result) throws Exception
{
String sql = null;//sql语句
PreparedStatement pst = null;
JdbcConnect jdbc = null;
List<Record> all = new ArrayList<Record>();
Record record = null;
int mInt = 0, //记录男子团体总积分
wInt = 0, //记录女子团体总积分
sumInt = 0;//记录该学校团体总积分
all = queryBysId(result.getSId());//获取某学校的积分情况
Iterator<Record> it = all.iterator();
while ( it.hasNext() )
{
record = it.next();
if ((record.getProName()).startsWith("w"))
{
wInt = wInt + record.getProInt();
}
else
{
mInt = mInt + record.getProInt();
}
}
sumInt = wInt + mInt;
result.setMInt(mInt);
result.setWInt(wInt);
result.setSumInt(sumInt);
sql = "UPDATE result SET mInt=?,wInt=?,sumInt=? WHERE sId=?";
try
{
jdbc = new JdbcConnect();
pst = jdbc.getConnection().prepareStatement(sql);
pst.setInt(1, mInt);
pst.setInt(2, wInt);
pst.setInt(3, sumInt);
pst.setString(4, result.getSId());
pst.executeUpdate();
pst.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jdbc.close();
}
}
// 按不同排序方式输出所有学校
public List<Result> querySortsumIntByAll(int id) throws Exception
{
Comp_mIntImpl comp_mInt = new Comp_mIntImpl();
Comp_wIntImpl comp_wInt = new Comp_wIntImpl();
String sql = null;//sql语句
PreparedStatement pst = null;
JdbcConnect jdbc = null;
ResultSet rs = null;
Result result = null;
List<Result> all = new LinkedList<Result>();
sql = "SELECT * FROM result";
try
{
jdbc = new JdbcConnect();
pst = jdbc.getConnection().prepareStatement(sql);
rs = pst.executeQuery();
while ( rs.next() )
{
result = new Result();
result.setSId((String) rs.getString(1));
result.setSName((String) rs.getString(2));
result.setMInt((Integer) rs.getInt(3));
result.setWInt((Integer) rs.getInt(4));
result.setSumInt((Integer) rs.getInt(5));
all.add(result);
}
pst.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jdbc.close();
}
if (id == 4)
{
Collections.sort(all);//按学校团体积分排序
return all;
}
else if (id == 2)
{
Collections.sort(all, comp_mInt);//按男子团体积分排序
return all;
}
else if (id == 3)
{
Collections.sort(all, comp_wInt);//按女子团体积分排序
return all;
}
else
{
return all;//按编号
}
}
// 按照项目名称查询,取前三名的学校的情况
public List<Record> querySortIntByPro(String proName) throws Exception
{
String sql = null;//sql语句
PreparedStatement pst = null;
JdbcConnect jdbc = null;
ResultSet rs = null;
Record record = null;
List<Record> all = new LinkedList<Record>();
sql = "SELECT sId,sName,proResult,proInt FROM record WHERE proName=?";
try
{
jdbc = new JdbcConnect();
pst = jdbc.getConnection().prepareStatement(sql);
pst.setString(1, proName);
rs = pst.executeQuery();
while ( rs.next() )
{
record = new Record();
record.setSId((String) rs.getString("sId"));
record.setSName((String) rs.getString("sName"));
record.setProResult((String) rs.getString("proResult"));
record.setProInt((Integer) rs.getInt("proInt"));
all.add(record);
}
pst.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jdbc.close();
}
Collections.sort(all);
return all;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
运动会积分管理系统(Java)
共47个文件
jsp:14个
class:11个
java:11个
4星 · 超过85%的资源 需积分: 14 111 下载量 103 浏览量
2009-07-11
16:55:29
上传
评论 16
收藏 948KB RAR 举报
温馨提示
1、 运动会积分统计软件 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名自己设定。(m<=20,W<=20) 功能要求: (1)可以输入各个项目的前三名或前五名的成绩; (2)能统计各学校总分, (3)可以按学校编号、学校总分、男女团体总分排序输出; (4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 输出形式:有提示,各学校分数为整形 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 程序测试:要求使用黑盒测试法进行程序测试。测试数据及测试结果请在上交的报告中写明。
资源推荐
资源详情
资源评论
收起资源包目录
sport.rar (47个子文件)
sport
实验报告
崔超-运动会积分管理实验报告.doc 866KB
DataBase
sport.mdb 1.25MB
JavaBean
cc
bean
sport
dao
SportDAO.java 670B
SportDAO.class 602B
UserDAO.java 171B
UserDAO.class 208B
daoImpl
Comp_mIntImpl.java 366B
Comp_wIntImpl.java 366B
UserDAOImpl.class 2KB
Comp_mIntImpl.class 829B
Comp_wIntImpl.class 829B
SportDAOImpl.class 6KB
UserDAOImpl.java 1KB
SportDAOImpl.java 6KB
vo
Record.class 2KB
User.class 1KB
Record.java 1KB
User.java 667B
Result.class 2KB
Result.java 994B
DBconect
JdbcConnect.java 962B
JdbcConnect.class 1KB
factory
DAOFactory.java 377B
DAOFactory.class 620B
JSP代码
list_sum_do.jsp 3KB
login.jsp 2KB
login_conf.jsp 812B
sport_main.jsp 3KB
login_success.jsp 2KB
query_proName.jsp 6KB
insert_result_do.jsp 2KB
sort.jsp 6KB
query.jsp 3KB
soft_info.jsp 3KB
query_sId.jsp 7KB
images
top6.jpg 71KB
bg-0106.gif 603B
serch1.gif 3KB
search.gif 4KB
danger.gif 3KB
Thumbs.db 41KB
circle2.jpg 26KB
hello.gif 20KB
input.gif 23KB
insert_result.jsp 6KB
list_sum.jsp 6KB
login_out.jsp 1KB
共 47 条
- 1
资源评论
- ykgogogo2016-06-29功能很完善,只不过我需要的是简化版
- ninahao2013-08-26怎么部署?
- junice22013-02-21很好的软件,完整的代码,非常适用于学习
- 沐灬晨风2013-06-13蛮好的资源,值得学习
- conniekim2013-01-07功能比较完善。
movingbaby
- 粉丝: 27
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功