728x90
게시판을 삭제하는 부분을 만들었다.
게시판을 삭제하기 전에 해당하는 게시글 NO의 댓글의 DB가 먼저 삭제되야한다.
해당 댓글의 row들이 삭제된 후 에 게시판이 작성되도록 만들었다.
deleteBoardAction.jsp
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
// post 인코딩 설정
request.setCharacterEncoding("utf-8");
// 요청 값
int no = Integer.parseInt(request.getParameter("no"));
System.out.println("deleteBoardAction - no = " + no);
Class.forName("org.mariadb.jdbc.Driver");
// DB자원 초기화
Connection conn = null;
conn = DriverManager.getConnection("jdbc:mariadb://127.0.0.1:3307/board","root","****");
/*
삭제될 댓글의 개수(행) 구하기
SELECT count(*)
FROM comment
WHERE boardno = ?
*/
String sql1 = "SELECT count(*) FROM comment WHERE boardno = ?";
PreparedStatement stmt1 = null;
stmt1 = conn.prepareStatement(sql1);
stmt1.setInt(1, no);
ResultSet rs = stmt1.executeQuery();
int row1 = 0;
if(rs.next()) {
row1 = rs.getInt("count(*)");
}
System.out.println("deleteBoardAction - stmt1 = " + stmt1);
System.out.println("deleteBoardAction - row1 = " + row1);
/*
글(부모)과 댓글(자식)을 모두 삭제해야 함
댓글(자식) 먼저 삭제
DELETE FROM comment
WHERE boardno = ?
*/
String sql2 = "DELETE FROM comment WHERE boardno = ?";
PreparedStatement stmt2 = null;
stmt2 = conn.prepareStatement(sql2);
stmt2.setInt(1, no);
int row2 = stmt2.executeUpdate();
System.out.println("deleteBoardAction - stmt2 = " + stmt2);
System.out.println("deleteBoardAction - row2 = " + row2);
/*
글(부모) 삭제 하기
DELETE FROM board
WHERE no = ?
*/
String sql3 = "DELETE FROM board WHERE no = ?";
PreparedStatement stmt3 = null;
if(row1 == row2) {
stmt3 = conn.prepareStatement(sql3);
stmt3.setInt(1, no);
}
int row3 = stmt3.executeUpdate();
System.out.println("deleteBoardAction - stmt2 = " + stmt3);
if(row3 == 1) {
response.sendRedirect("./boardList.jsp");
} else {
System.out.println("삭제 실패");
response.sendRedirect("./boardOne.jsp?no=" + no);
}
//DB 자원 반납
stmt3.close();
stmt2.close();
rs.close();
stmt1.close();
conn.close();
%>
728x90
'웹 개발' 카테고리의 다른 글
파이널 프로젝트를 마치며 (0) | 2024.08.19 |
---|---|
css,bootstrap사용해서 게시판만들기(5) (0) | 2024.03.22 |
css,bootstrap사용해서 게시판만들기(3) (0) | 2024.03.22 |
css,bootstrap사용해서 게시판만들기(2) (0) | 2024.03.21 |
css,bootstrap사용해서 게시판만들기(1) (0) | 2024.03.21 |