String sql = "select id,cid,name,age,birthday from stu where id=?";
Object[] params = { id };
ResultSet rs = db.executeSqlWithResult(sql, params);
while (rs.next()) {
s.setId(rs.getInt("id"));
s.setcName(rs.getString("cid"));
s.setName(rs.getString("name"));
s.setAge(rs.getInt("age"));
s.setBir(rs.getTimestamp("birthday"));在这个程序中s.set的五个设置能不能改变顺序,能不能缺少哪一项????求解决,谢谢!!!

解决方案 »

  1.   

    ResultSet.next()方法
    将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 如果如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false 
    s.set是你自己定义的pojo吧,当然可以少一个了,没有顺序的
      

  2.   

    rs.next(); 是游标向下移动一行的意思 ,放在while循环里面做循环条件,就是如果有下一行的意思。并且执行了游标的向下移动。
    五个设置能改变顺序但是括号里面的参数也要一一对应。
    比如下面这样也是可以的
    while (rs.next()) {
    s.setAge(rs.getInt("age"));
    s.setBir(rs.getTimestamp("birthday"));
    s.setcName(rs.getString("cid"));
    s.setName(rs.getString("name"));
    s.setId(rs.getInt("id"));

      

  3.   

    rs.next()是否存在吓一跳数据 返回boolean类型
    根据你数据库表里面的设置 如果设置哪一项可以为空 当前可以少哪一项 如果数据库表里面字段设置不为空 这里少赋值了  在插入的时候会报错...
      

  4.   

    rs.next()是游标向下移动一行的意思 ,放在while循环里面做循环条件,就是如果有结果集的话,游标就会向下移动把所有的数据遍历出来
      

  5.   

    在这个程序中s.set的五个设置能改变顺序,只要实体类中有这个属性就可以set进去,能不能缺少哪一项要看你数据库了的字段是不是可以为空,可以的话就可以缺少,否则的话插入的、更新的时候可能会报错的。
      

  6.   

    ResultSet.next()方法
    将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 如果如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false  
    s.set是你自己定义的pojo吧,当然可以少一个了,没有顺序的