<%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") 试一下