求解求解求解求解求解

<%Connection con=null;
      Statement st=null;
      ResultSet re=null;
      String id=request.getParameter("id");
      Class.forName("com.mysql.jdbc.Driver");
      String url="jdbc:mysql://localhost:3306/jsp?useUnicode=true&characterEncoding=utf-8";
      String user="root";
      String password="123";
      con=DriverManager.getConnection(url,user,password);
      st=con.createStatement();
      request.setCharacterEncoding("UTF-8");
      String sql="select * from student where id="+id;
      re=st.executeQuery(sql); %>
      <table>
      <tr>
      <td>学号</td>
      <td>姓名</td>
      <td>年龄</td>
      <td>性别</td>
      <td>专业</td>
      </tr>
      <tr>
    <%while(re.next()){
      out.print("<td>"+re.getInt("id")+"</td>");
      out.print("<td>"+re.getString("name")+"</td>");
      out.print("<td>"+re.getInt("age")+"</td>");
      out.print("<td>"+re.getString("gender")+"</td>");
      out.print("<td>"+re.getString("major")+"</td>");
      %>
      </tr>
      <%} %>
</table>
<br>
<br>
将学生信息修改为:
<form action="updateshow.jsp" method="post">
        学号:<input type="text" name="id" value="<%=re.getInt("id")%>"><br>
        姓名:<input type="text" name="name" value="<%=re.getString("name")%>"><br>
        年龄:<input type="text" name="age" value="<%=re.getInt("age")%>"><br>
        性别:<input type="radio" name="gender" value="男">男<input type="radio" name="gender" value="女">女<br>
        专业:<input type="text" name="major" value="<%=re.getString("major")%>"><br>
        <input type="submit" value="修改">
</form>

 

为啥下面这行会报错

re.next() 会迭代下一行数据 而你现在这个输入框 在使用的时候 已经迭代完了 也就是re 里面已经没有值了

你改成 re.getString("id") 试一下