2016-04-22 28 views
1

JSPのテーブル内の複数のレコードをデータベースMSSQLに更新する必要があるJSPとServletを使用してWebサイトを作成しています。私はこのようなテーブルがあるとします。jspテーブルから複数行を更新

Post.jsp

私が選ぶと、いくつかの行のステータスを変更するとします。テーブルの変更されたすべての値をデータベースに更新するように、私はサーブレットに何を入れるべきですか?どんな助けもありがとうございます。

+1

ようこそStackOverflow! [ツアー](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> 

今すぐあなたのサーブレットでは、プライマリキーの値に基づいて状況を検索し、更新することができます。 注:ポストIDおよびslStatusパラメータは(サーブレットで)等しい長さの配列値を持つことになります。同じインデックスでは、(エンティティクラスの、すなわちDBテーブルを表す)1つのオブジェクトのそれぞれの値を表す。

+0

お返事ありがとうございますが、私が探しているものではありません。私は、更新ボタンをクリックすると、テーブルのすべての行を更新する方法を知りたいです。すべての変更ステータスを更新するために、どのようなコードをサーブレットに追加する必要がありますか?私がUpdateメソッド呼び出し 'updatePost'を使ってPostを更新したとします。 – TMD

+0

あなたはリクエストからpostIdとslStatusのパラメータ値を取得します(文字列の配列を取得します)。今度は、テーブル内の行をpostidでループ内に見つけて(要求から得られた値の配列)、ループ内の同じインデックスの状態値で行を更新します。 –

関連する問題