2016-04-22 50 views
1

我正在使用JSP和Servlet編寫一個網站,它要求將JSP中的多個記錄更新到數據庫MSSQL中。假設我有一個像這樣的表:jsp更新表中的多行

Post.jsp

想我挑選和改變現狀的幾行。我應該在我的Servlet中放入什麼,以便將表中所有更改後的值更新到數據庫中?任何幫助表示讚賞。

+1

歡迎來到StackOverflow!請參考[tour](http://stackoverflow.com/tour)並閱讀[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask)。然後回來並相應地編輯你的問題。 – Jan

回答

0

你應該也與狀態像發送的主鍵值:

<form method="POST" action="PostServlet?action=update"> 
    <table border="1"> 
     <tr> 
      <th>Post ID</th> 
      <th>Title</th> 
      <th>Date</th> 
      <th>Status</th> 
     </tr> 
     <c:forEach var="p" items="${requestScope.list}"> 
      <tr> 
       <td>${p.id}</td> 
       <td>${p.title}</td> 
       <td>${p.date}</td> 
       <td> 
        <select name="slStatus"> 
         <option value="approve" selected="true">Approve</option> 
         <option value="unapprove">Unaprove</option> 
        </select> 
        <input type="hidden" name="postId" value="${p.id}"/> 
       </td> 
      </tr> 
     </c:forEach> 
     <tr><button type="submit" value="Update"></button> 
    </table> 

現在,在你的servlet基於主鍵值,你可以找到和更新狀態。 注意:postIdslStatus參數將具有相等長度的數組值(在servlet中)。並且在相同的索引處,它們將表示一個對象(實體類,即表示數據庫表)的相應值。

+0

謝謝你的回答,但那不是我要找的。我想知道如何在點擊更新按鈕時更新表格中的所有行。我應該在servlet中添加哪些代碼來更新所有更改狀態?假設我有一個Update方法調用'updatePost'來更新Post – TMD

+0

,您將從請求中獲取postId和slStatus參數值(將獲得字符串數組)。現在通過循環中的postid找到表中的行(從請求中獲取值的數組),並使用循環中相同索引處的狀態值更新行。 –