public Vector selects(String colname,String str){
     rs = null;
     String strs = "select * from student where "+colname+" = '"+str+"'";
     Vector<Object> ve = new Vector<Object>();
     Vector<Object> ves = new Vector<Object>();
     try{
     rs = st.executeQuery(strs);
while(rs.next()){
ves.add(rs.getString("stuid").trim());
ves.add(rs.getString("stuname").trim());
ves.add(rs.getString("stuclass").trim());
ves.add(rs.getInt("stuage"));
ves.add(rs.getString("stusex").trim());
ves.add(rs.getFloat("stuheight"));
ves.add(rs.getString("stutel").trim());
ves.add(rs.getString("stubirthday"));
ves.add(rs.getString("stuaddress"));
ve.add(ves);
}
rs.close();
     st.close();
     con.close();
     }catch(SQLException sql){
     sql.printStackTrace();
     }
     return ve;
    }返回去的结果不合意...行数还是对了..有多少行返回多少行...但是每行的内容都和数据库里面的第一条的内容是一样的..数据库里面每条的内容都是不一样的啊!!!如果是五行的话,就显示的五行一样的内容..请问是这段代码的原因吗?谢谢.

解决方案 »

  1.   

    常见错误。
      public Vector selects(String colname, String str) {
        rs = null;
        String strs = "select * from student where " + colname + " = '" + str + "'";
        Vector<Object> ve = new Vector<Object>();
        Vector<Object> ves = new Vector<Object>();
        try {
          rs = st.executeQuery(strs);
          while (rs.next()) {
            ves = new Vector<Object>(); // 这里每次都得重新得到对象,否则add的永远是同一个
            ves.add(rs.getString("stuid").trim());
            ves.add(rs.getString("stuname").trim());
            ves.add(rs.getString("stuclass").trim());
            ves.add(rs.getInt("stuage"));
            ves.add(rs.getString("stusex").trim());
            ves.add(rs.getFloat("stuheight"));
            ves.add(rs.getString("stutel").trim());
            ves.add(rs.getString("stubirthday"));
            ves.add(rs.getString("stuaddress"));
            ve.add(ves);
          }
          rs.close();
          st.close();
          con.close();
        } catch (SQLException sql) {
          sql.printStackTrace();
        }
        return ve;
      }
      

  2.   

    ls正解
    一般都先把rs添加到一個list里面在iterator的  我
    這樣可以保證不出錯
      

  3.   

    我是把结果封装到form
    然后list.add(form)