日期:2014-05-20  浏览次数:20861 次

JSP页面的数据库数据修改问题
新手,做了个JSP导出数据库数据的页面,现在想在显示结果上直接修改数值,可是现在代码只能实现第一行的修改操作,下面的数据都无法修改。不知道怎么修改呢?能不能帮忙修改一下。或者给个思路。

其中数据唯一字段是NOTENO,想修改的是溢出费用。

页面显示是这样的:


输出页面:

  </head>  
  <body>
  <center>
    <div>
    <form action="servlet/distribute_Updategs" method="post">
    <% List<distribute_sordata> averdata =(List<distribute_sordata>)request.getAttribute("averdata");%>
    <table id="table_1">
    <tbody>
    <tr><td style="padding-left:20px"><%out.println("操作工号");%></td>
    <td style="padding-left:20px"><%out.println("号码");%>&nbsp</td>
    <td style="padding-left:20px"><%out.println("姓名");%>&nbsp</td>
    <td style="padding-left:20px"><%out.println("溢出费用");%>&nbsp</td>
    <%out.println("<br/>");%></tr>
    <%for(int i=0;i<averdata.size();i++)
    {%>
    <tr>
    <td style="padding-left:20px"><%out.println(averdata.get(i).getSelect_agent());%></td>
    <td style="padding-left:20px"><%out.println(averdata.get(i).getNUMN());%></td>
    <td style="padding-left:20px"><%out.println(averdata.get(i).getNAMEN());%></td>
    <td style="padding-left:20px"><input type="text" size="5" name="YC_AMT" value="<%=averdata.get(i).getYC_AMT()%>" style="text-align:center;" /></td>
    <td style="padding-left:20px"><input type="text" name="NOTENO" value="<%=averdata.get(i).getNOTENO() %>"/>
    <td style="padding-left:20px"><input type="submit" value="修改"/
    <input type="hidden" name="Select_agent" value="<%=averdata.get(i).getSelect_agent()%>" />    
    </tr>
    <%
    //out.println("<br/>");
    //averdata.remove(averdata.get(i)); 
    } 
    %>
    </tbody>
     </table>
     </form>
     </div>
  </body>



update 方法:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("utf-8");

response.setContentType("text/html");
PrintWriter out = response.getWriter();

int Select_agent=Integer.parseInt(request.getParameter("Select_agent"));
// String agent_id=request.getParameter("agent_id");
String YC_AMT=request.getParameter("YC_AMT");
String NOTENO=request.getParameter("NOTENO");
// int LIUC_FLAG=Integer.parseInt(request.getParameter("LIUC_FLAG"));
distribute_dodata dodata=new distribute_dodata();
dodata.update(YC_AMT,NOTENO, Select_agent);
//System.out.println("执行成功");
List<distribute_sordata> listdata=dodata.averdata(Select_agent);
request.setAttribute("averdata", listdata);
request.getRequestDispatcher("../distribute_second.jsp").forward(request, response);


}



------解决方案--------------------
额~忘了一点修改button的type属性要改成button哦!
<input type="button" value="修改" onclick="edit('<%=averdata.get(i).getSelect_agent()%>','<%=i %>')">