使用SELECT,正常情况是返回7条记录,加了ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE,
只返回了4条记录,有3条记录丢失

解决方案 »

  1.   

    你在使用conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);的时候,在返回的数据集rs后,在取rs里的数据之前调用一下rs.beforeFirst();然后你在rs.next去取数据看看。。
    应该不会出现你说的这种情况的。除非你的SQL语句不健壮
      

  2.   

    while(rs.next())
    {%> <tr align="center">
              <th height="32" scope="row" class="a13"><%=rs.getString("hjx")%></th>
              <td class="a13"><%=rs.getString("bkkl")%></td>
              <td class="a13"><%=rs.getString("c")%></td>
         </tr>
    <%}%>
    用conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    后结果就少了3条记录
    用了rs.beforeFirst();修改后还是一样
      

  3.   

    rs.first(); 
    while(!(rs.isAfterLast())
    {
     //操作
    }
    这样试试吧
      

  4.   

    PreparedStatement   stmt = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
                                           ResultSet.CONCUR_READ_ONLY)
    用这个语句再试试
      

  5.   

    PreparedStatement   stmt=conn.prepareStatement(sqlstr,ResultSet.TYPE_SCROLL_SENSITIVE,
                                ResultSet.CONCUR_UPDATABLE);建立PreparedStatement时这样,然后
    rs.first(); 
    while(!(rs.isAfterLast())
    {
     //操作
    }
    这样试试吧,就不会出错.
      

  6.   

    可能也跟连接的数据库有关,sqlserver有些功能是不支持的.