<%@page contentType="text/html;charset=GB2312"%>
<%@ include file="share/connection.jsp"%>
<html>
<body>
<%
            String name=request.getParameter("name");
            if(name==null){
                  name="";
 }                 byte b[]=name.getBytes("ISO-8859-1");
                       name=new String(b);  
           out.print(name);
          
        String xuefen=request.getParameter("xuefen");
         if(xuefen==null){               xuefen="-1";
}
              out.print(xuefen);
                         //更新数据************************************
                       String sql = "update stu set credit=' "+xuefen+"'"+" where stuname=' "+name+"'";
                       try{  
                                   stmt.executeUpdate(sql);
                         
                 
                 }catch(SQLException e){
                         out.print(e);  
               }
%>
<center><p>更新后数据库的记录:
<%
        ResultSet rs=stmt.executeQuery("select * from stu");
%>
</p>
<table boder="" bgcolor="green">
<tbody>
<tr>
<th width="100">学号</th>
<th width="100">姓名</th>
<th width="50">学分</th>
</tr>
<%while(rs.next()){%>
<tr><td><%=rs.getInt(1)%></td>
     <td><%=rs.getString(2)%></td>
      <td><%=rs.getString(3)%></td>
</tr>
<%
}
%>
</tbody></center><%
        conn.close();
%>
</body></html>
为什么我的更新语句起不了作用,显示结果还是更改的数据. who can help me?????????????????????????????????????????

解决方案 »

  1.   

    用int rowCount = stmt.executeUpdate(sql); 然后输出rowCount看看
      

  2.   

    没有错误吗,把异常贴出来,你这个问题应该在jsp区提问
      

  3.   

    在执行SQL前,打印一下name和xuefen的值看下传的值对不对。
      

  4.   

    显然没有符合条件的记录啊。
    把那个SQL语句打出来,在命令行里测试一下看看。
    有几个原因导致不符合你的预期。
    1.字符集问题
    2.碰到转义字符 ', "等等