<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.sql.*"%><script language="javascript">
    function on_submit()
    {
        if(form1.sname.value=="")
        {
            alert("学生姓名不能为空!请输入姓名!");
           form1.sname.focus();
            return false;
        }
    }
</script><%
String Sno=request.getParameter("Sno");
%>
<html>
<body>
<center>
<%
if(Sno!="")
{
    String sqlString="select * from Student where Sno="+Sno;
 
    try
    {
        Connection con;
        Statement sql;
        ResultSet rs;
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DataBaseName=studentmessage","sa","beckham");
               sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
      rs=sql.executeQuery(sqlString);
      rs.next();
 %>
     <table border="1" width="600">
         <tr>
             <td width="100%" colspan="2" align="center">修改信息程序</td>
         </tr>
         <form action="update3.jsp" method="post" onsubmit="return on_submit()" name="form1">
             <input type="hidden" value="<%=Sno%>" name="Sno">
     <tr>
             <td width="25%">姓名:</td>
             <td width="75%"><input type="text" name="sname" value="<%=rs.getString("Sname")%>"></td>
          </tr>
   <tr>
              <td>年龄:</td>
              <td><input type="text" name="age" value="<%=rs.getInt("Ssage")%>"></td>
          </tr>
          <tr>
              <td>性别:</td>
              <td>
                  <%if((rs.getString("Ssex")).equals("男")){%>
                  <input type="radio" name="sex" value="男" checked>
                  <%}else{%>
                  <input type="radio" name="sex" value="男">
                  <%}%>
                  男
                   <%if((rs.getString("Ssex")).equals("女")){%>
                  <input type="radio" name="sex" value="女" checked>
                  <%}else{%>
                  <input type="radio" name="sex" value="女">
                  <%}%>
                  女
               </td>
           </tr>
           <tr>
               <td>院系:</td>
               <td><input type="text" name="yuanxi" value="<%=rs.getString("Sdept")%>"></td>
           </tr>
           <tr>
               <td colspan="2" align="center">
                   <input type="submit" value="提交">
                   <input type="submit" value="重输">
               </td>
            </tr>
       </form>
      </table>
<%
       con.close();
    }
     catch(SQLException e1)
     {
         out.print(e1);
     }
}
   else
   {
      out.print("数据不正确!");
   }
%>
  </center>
</body>
</html>出现以下问题:
SQLException 结果集没有当前行

解决方案 »

  1.   

    用while(rs.next()){
          rs.getString(1);
          rs.getString(2);
    }把每一条记录读出来
      

  2.   

    String sqlString="select * from Student where Sno="+Sno;
       打印出来 看看有结果吗 ~! 没看出来程序有什么问题
      

  3.   

    看看request.getParameter("Sno")拿到的是什么,再直接在database里select * from Student where Sno=Sno可不可以select到数据
      

  4.   

    不要rs.next();后就读取啊,即便是只有一条记录,也应该判断rs.next()的返回值,只有为true你才能取到数据.