ResultSet中的值就是这样
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>需要循环很多次才能都遍历出来
怎么把值都放在list中啊
是用什么集合接受啊高手希望详细说明

解决方案 »

  1.   

    放入pojo中.
    每行对应一个新的pojo.
    看这个说明: 【原创】JAVA实现关系数据库的翻页 by masse@CSDN:这个方法没有什么特别的,其实也算不上原创。也是在学习中得出来的。因此如果侵犯了别人的权益,请来信通知。为了方便初学者了解原理,代码中我没有使用任何框架。代码可以适用于mysql,oracle,sqlserver,db2等等主流关系数据库。
    以下代码是我从自己以前写的程序中抽取出来的核心,只能表述思路,如要使用,可能还需要很多调整。(1) 数据库表sys_User定义如下:
    ID Name Email Desc …
    1 masse [email protected] 当午 …
    其中,ID为整型,其它均为字符串。(2) User类,请自行为每个方法添加getter和setter方法。为了方便,我写了User(ResultSet)这个构造函数。
    public class User
    {
    public User(ResultSet rs)
    {
    id = rs.getInt("ID");
    name = rs.getString("Name");
    email = rs.getString("Email");
    desc = rs.getString("Desc");
    }
    private int id;
    private String name;
    private String email;
    private String desc;
    }(3) sysUserTable类,用于数据库读取,我这里仅仅给出了最核心部分。其中对于start,count等的有效性参数,请自行判断;sql语句如果有查询的filter,或者order等语句,也可根据情况自行调整。我只给出程序框架。// 取出从start开始的count条记录。如,start为1,count为20,则取出数据库前20条记录
    public class SysUserTable
    {public List getUsers(Connection conn, int start, int count) throws
    Exception
    {
    PreparedStatement pStmt = null;
    ResultSet rs = null;
    List result = new ArrayList();
    try
    {
    String sql = "SELECT * FROM sys_User";
    pStmt = conn.preparedStatement(sql);
    rs = pStmt.executeQuery();
    if (rs.absolute(startRow))
    {
    result.add(new User(rs));
    for (int rowIndex = 0; rowIndex < rowCount - 1; rowIndex++)
    {
    if (!rs.next())
    {
    break;
    }
    result.add(new User(rs));
    }
    }
    }
    catch (Exception e)
    {
    throw e; // process exception here
    }
    finally
    {
    // close rs & pStmt here
    }
    return result;
    }
    }(4) JSP页面的实现。基本的思路就是,根据当前页数,计算出需要的start即可。如指定每页count条,当前在第n页,那么start=(n-1)*count+1。然后作为参数,即可得到翻页结果集。具体的实现可以用传统的翻页,也可用ajax。这里灵活性很大,就不再赘述了。
      

  2.   

    List list;
    需要定义一个类在里面
    有一些属性和rs得到的值对应
    aa a = new aa();
    while(rs.next()){
    a.属性=rs.getString(1);
    ...
    list.add(a)
    }
      

  3.   

    用第三方开源包RowSetDynaClass rsdc = new RowSetDynaClass(rs);
    List resultList= rsdc.getRows();具体的jar包是apache的
    org.apache.commons.beanutils.RowSetDynaClass
      

  4.   

    补充:list里面的对象为BasicDynaBean,一个类型map的东西
    取值为
    for(...){
      BasicDynaBean bean=(BasicDynaBean)resultList.get(i);
      bean.get(key);  --->key为字段名字 和你在select id,name等匹配
    }
      

  5.   

    List list=new ArrayList();
    while(rs.next() )
    {
        aa a=new aa(rs.getString(1),rs.getString(2),rs.getString(3) );
        list.add(a);
    }
      

  6.   

    List list=new ArrayList();
    while(rs.next() )
    {
        aa a=new aa(rs.getString(1),rs.getString(2),rs.getString(3) );
        list.add(a);
    }
    基本思路就是这样的,实际使用时,最好写一个初始化函数
    public void userLogInit(userLog userLog,ResultSet rs){
    try {
    userLog.setId(rs.getLong("Id"));
    userLog.setUserId(rs.getString("user_id"));
    } catch (Exception e) {
    System.out.println("init failed!");
    }
    }
    public List getUser(String sql){
    ArrayList<userLog> list = new ArrayList<userLog>();
    try {
    DBConnect db=new DBConnect();
    con=db.getConnect();
    st=con.createStatement();
    rs=st.executeQuery(sql);
    while(rs.next()){
    userLog = new userLog();
    userLogInit(userLog,rs);
    list.add(userLog);

    }
    } catch (Exception e) {
    System.out.println("get record failed!");
    System.out.println(e);
    e.printStackTrace();
    }
    try {
    rs.close();
    st.close();
    con.close();
    } catch (Exception e) {
    System.out.println("close database failed!");
    System.out.println(e);

    }
    return list;
    }
    其中userLog 是JAVABEAN
      

  7.   

    Ctoyun(林莉) 好问题我想csdn的哥们是不会在乎分的.呵呵.
    问题首先要用baidu搜搜啥.
      

  8.   

    yxhzj(余华[学习J2EE中]) ( 一星(中级)) 信誉:98学习之
      

  9.   

    将值遍历出来
    去建一个javabean
    里面的内容就是你筛选出来的值
    都赋值给那个javabean中的属性
    然后声明那个javabean的对象进行传递给list