为了账号安全,请及时绑定邮箱和手机立即绑定

修改数据时,页面正常跳转,但是实际数据并没有修改

修改数据时,页面正常跳转,但是实际数据并没有修改

犯罪嫌疑人X 2019-04-19 13:15:17
小白,用的MyEclipse,jdbc链接的数据库,增删改查除了修改都可以实现。修改时,未提示代码错误,而且页面也可以正常跳转,但是数据没有修改成功,依然是之前的数据。具体代码如下:dao:public void updateNotice(NoticeBean nb)  {         Connection conn = DBUtil.getConnectDb();         String sql = "update gonggao set notice = ? where id =?";         PreparedStatement stm = null;         try {             stm = conn.prepareStatement(sql);             stm.setString(1, nb.getNotice());             stm.setInt(2, nb.getId());             stm.executeUpdate();         } catch (SQLException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }     }servlet:protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         // TODO Auto-generated method stub         request.setCharacterEncoding("UTF-8");         response.setContentType("text/html;charset=UTF-8");         int id = Integer.parseInt(request .getParameter("id"));         String notice = request.getParameter("notice");         System.out.println(notice);//可以在console看到修改的数据         NoticeBean nb = new NoticeBean();         NoticeDao dao = new NoticeDao();         try {             dao.updateNotice(nb);             response.sendRedirect("admain.jsp");         } catch (Exception e1) {             e1.printStackTrace();         }     }jsp:<form action="UpdateNo" method="post"> <table style="position: relative; left: 50%" class="table"> <% NoticeBean nb = (NoticeBean)request.getAttribute("nb"); %> <tbody>   <tr class="row1">    <td valign="middle" align="center">    <input type="hidden" name="id" value="<%=nb.getId() %>"/>    </td>    <td><input type="text" class="inputgri" name="notice" style="width: 800px;height: 80px;" value="<%=nb.getNotice() %>"/>    </td>                                   </tr> </tbody> </table> <button style="width: 30%; height: 35px; position: relative; top: -20px;right:20px"type="submit" value="提交" />                     提交                 </form>
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

  String notice = request.getParameter("notice");
        System.out.println(notice);//可以在console看到修改的数据
        NoticeBean nb = new NoticeBean();        这里没有数据,    你的notice也没有添加进实体类。
        NoticeDao dao = new NoticeDao();
        try {
            dao.updateNotice(nb);       //相当于传了空对象
            response.sendRedirect("admain.jsp");
        } catch (Exception e1) {
            e1.printStackTrace();
        }


查看完整回答
反对 回复 2019-05-14
?
Helenr

TA贡献1780条经验 获得超4个赞

1、在dao层打断点
2、sql执行了没有
3、事务是否提交了

查看完整回答
反对 回复 2019-05-14
  • 2 回答
  • 0 关注
  • 717 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号