前提・実現したいこと
java,mysql,Tomcatで掲示板を作成しています。その中で、削除機能を実装したいのですが、なかなか上手くいきません。削除パスワードを入力して間違っていたらエラーの表示、合っていたら削除という形にしたいです。その場合、どのように以下を訂正すれば良いでしょうか。
現状のところパスワードを入力して削除ボタンを押しても反応しない(削除できない)状態にあります。
該当のソースコード
「MessageDao.java」
public String getPassword(String Id) throws Exception { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; String rspassword = null; try { String deleteid = null; conn = this.getConnection(); String sql = "SELECT * FROM MESSAGE_TABLE where ID =" + deleteid; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if (rs.next()) { rspassword = rs.getString("PASSWORD"); } else { System.out.println("一致するレコードがありません。"); } } finally { this.close(rs); this.close(pstmt); this.close(conn); } return rspassword; } public int deleteMessage(String id) throws Exception { Vector<Message> messageList = new Vector<Message>(); int j = 0; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = this.getConnection(); String sql = "DELETE FROM TABLE_ITEM WHERE ID = " + id; pstmt = conn.prepareStatement(sql); j = pstmt.executeUpdate(); } finally { this.close(rs); this.close(pstmt); this.close(conn); } return j; }
「Servlet.java」
int deleteid = dao.getNextId(); String deletepassword = message.getPassword(); String rspassword = dao.getPassword("deleteid"); if (deletepassword.equals(rspassword)){ dao.deleteMessage("id"); } else{ errormessage = "パスワードが違います。"; request.setAttribute("errormessage", errormessage); }
「jsp」
<td>パスワード</td> <td> <input type="password" size="10" > <input type="hidden" name="id" value="<%= message.getId() %>"> <input type="submit" name="" value="削除"> </td> </tr> </table><br>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。