| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 478 人关注过本帖
标题:循环嵌套问题
只看楼主 加入收藏
wanghao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
 问题点数:0 回复次数:2 
循环嵌套问题

内部for循环 ,但外部for不循环
代码如下 :
package test;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.ResultSetMetaData;
import java.sql.*;

public class Servlet1
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
ResultSetMetaData resultmetadata = null;
DbConnect db = new DbConnect();
Connection conn=null;
Statement statement = null;
ResultSet resultset = null;

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("JDBC:ODBC:test","test","test");
statement = conn.createStatement();
resultset = statement.executeQuery("select * from grade1_table");
//Get the ResultSet information
resultmetadata = resultset.getMetaData();
//Determine the number of columns in the ResultSet
int numCols = resultmetadata.getColumnCount();
String sql="";
int a=0,b=0,c=0,d=0,e=0;
float n=0;
while (resultset.next()) {
for (int i = 1; i <= numCols; i++) {
//For each column index, determine the column name
String colName = resultmetadata.getColumnName(i);
for (int j = 1; j <= resultset.getRow(); j++) {
sql="select "+colName+" from grade1_table";
System.out.println(sql);
resultset = statement.executeQuery(sql);
// String colVal = resultset.getString(j);
while(resultset.next()){
n = resultset.getFloat(colName);
if (n >= 90.0){
a = a + 1;
}else if(n>=80.0){
b = b + 1;
}else if(n>=70.0){
c = c + 1;
}else if(n>=60.0){
d = d + 1;
}else{
e = e + 1;
}
}

//Get the column value
// String colVal = resultset.getString(i);
//Output the name and value
System.out.println(colName);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);

}
//Output a line feed at the end of the row
System.out.println(" ");
}
}
resultset.close();
conn.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}

//Clean up resources
public void destroy() {
}
}

问题是 :

内for循环 ,但外for不循环

结果如下 :

select chinese from grade1_table
chinese
1 1 1 1 2
ResultSet is closed

只输出 语文的 ,其他科目 成绩没统计出来 。

有哪位能人帮我看看 急死了

搜索更多相关主题的帖子: 嵌套 
2006-09-30 10:21
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
收藏
得分:0 

不会只有一列吧 要不然怎么会只循环一次呢


努力 努力 !!!!!!
2006-09-30 18:34
wanghao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 
不会的,数据库中10行12列
2006-10-08 14:09
快速回复:循环嵌套问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012007 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved