while(rs.next()) //???不太明白这句话是否应该while(rs.hasNext())?

解决方案 »

  1.   

    不过我不要String sqlwai="select prodstep, sum(outstep) as alloutstep,sum(outtotal) as allouttotal from calpcs where PRODNO+prodname='"+number+"' group by prodstep order by prodstep"; 中的 ProdStep 字段,可以显示 outstep 和  outtotal字段 .
      

  2.   

    可能rs.getString(num)的时候,数据库里为空值,这个时候用trim()则会保NULL异常
      

  3.   

    改成这个试试
     for(int i1 =0; i1<text1.size();i1++){
         if(wai.hasNext())
    {
             List list1=(List) wai.next();
         prodstep=(String)list1.get(0);
        //fac=(String)list1.get(1);
         outstep=(String)list1.get(1);
         outtotal=(String)list1.get(2);
    }
        }
      

  4.   

    可能是rs.getString(1)或者rs.getString(2)或者rs.getString(3)时,得到的值是空,再调用trim()时,就null异常了。
      

  5.   

    public List List4(String sql){
    List listRow = new ArrayList();
    List listColumn = null;
    try{
    rs=stat.executeQuery(sql);
    while(rs.next()){
    listColumn = new ArrayList();
    listColumn.add(rs.getString(1).trim());
    listColumn.add(rs.getString(2).trim());
    listColumn.add(rs.getString(3).trim());
    listRow.add(listColumn);
    }
    return listRow;
    }catch(SQLException e){
    e.printStackTrace();
    }
    return listRow;
    }
    ----------------------------
    你应该把表和类建立个对映关系,如:
    db table Student:
    id vchar 13
    name vchar 64
    age number 3java class Student:
    private long id;
    private String name;
    private long age;
    虽然你知道listColumn.add(rs.getString(1).trim());放的是什么,但是这样写对操作很不方便,且容易出错.
    如果db表中有个字段是number型,你用getString()返回是不是就是null?