楼主:我看了大体,我不知道自己有没有理解你的意思,但是按我理解,你是想把想得到数据库表中有几条记录。 比如着个user表 sum username userpass 1 xiaoyao yao 2 xiaoai ai ------------------- 你想得到的是2条记录 如果是这个请往下看 我这里有个苯方法: 你上面连接数据库的我就不写了,我从这边写 int i=0;//定义个i用来统计有几条记录 sql="select sum from user"; ResultSet rs =stmt.executeQuery(sql); while(rs.next()){ i++; } 我数据库中的user表<%=i>记录/
String sum = "";
while(rs.next()){
sum = rs.getString(XXX);
}double summ = Double.parseDouble(sum);页面中显示 <%=summ%>是这个意思吗?你都2个三角了,是我理解错了吧? 还是...
2、存在session,request里,eg:request.setAttribute(,);
3、在jsp页面中提取相应的属性我想这样子应该是可以的。
页面 <%
Integer sum=(Integer)request.getAttribute("sum");
%>
统计 <%=sum%>
执行sql语句,得到num值
?????我这样理解。哈哈
你只有一个列,而且sum之后肯定是个数字,那你用
rs.getInt(1)不就完啦?干吗非要用列名汗
清楚了,是类似这意思不:
1。连数据库查到要的那一些记录,
2。while rs.next吧单条记录放到一个类中,并把类加到一个ArrayList
3。方法返回ArrayList,即你的查询结果列表。(1。2。3的参考代码见下)。
4。在servlet中调用该方法,取的查询结果列表,并setAttribute(redirect用session、forward用request)。
5。在jsp利用el或jstl表达式或者直接java代码getAtrribute得到这个列表并显示。(4。5代码暂时没有)。如果你的都是jsp->jsp方式,则直接在jsp里面取得1。在2里面用while的方式直接加至jsp,下面的jsp好显示。
static ArrayList<ClassObj> getResultLst() throws Exception {
String url = "jdbc:odbc:study";
String user = "sa";
String password = "";
ArrayList<ClassObj> lst = new ArrayList<ClassObj>();
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select sum(callstatus) as A,opcode as B,rid as C "
+ "from gxyd_cyt_result where wdate>'2009-11-16 12:30' "
+ "and wdate<'2009-11-16 13:00' group by opcode";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url, user, password);
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery(); while (rs.next()) {
ClassObj obj = new ClassObj();
obj.setClassId(rs.getString("A"));
obj.setClassGroup(rs.getString("B"));
obj.setClassNo(rs.getString("C"));
double price = 1.0; double total = price * Integer.parseInt("10"); lst.add(obj);
}
} catch (Exception e) {
throw e;
} finally {
try {
if (rs != null)
rs.close();
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return lst;
}
LZ最好把加班记录表的字段列的详细点会更好
在此发表几句
楼主你的问题根本不是java的问题
你的问题是查询数据库的问题 --> 到数据库板块解决楼主这样试试
select sum(加班时间),人的Id号 from 加班表 group by 人的Id号
跟20楼那个兄弟的差不多 public int find(){
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
int count = 0;
String sql = "select sum(ticketNum) from TicketInfo";
try{
con = beanClose.getCon();
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println("AAAA");
if(rs.next()){
System.out.println("BBBB");
count = rs.getInt(1);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
//关闭的方法
beanClose.close(rs, ps, con);
}catch(Exception e){
e.printStackTrace();
}
return count;
}
}
这样用列名。
比如着个user表
sum username userpass
1 xiaoyao yao
2 xiaoai ai
-------------------
你想得到的是2条记录
如果是这个请往下看
我这里有个苯方法:
你上面连接数据库的我就不写了,我从这边写
int i=0;//定义个i用来统计有几条记录
sql="select sum from user";
ResultSet rs =stmt.executeQuery(sql);
while(rs.next()){
i++;
}
我数据库中的user表<%=i>记录/