22-07-21 진행상황

(。◠ ◠。)·2022년 7월 22일
0

검색&등록 폼


검색 화면을 추가하였다.
오라클에서 TO_CHAR을 사용해서 보기 좋게 뽑아냈다.
TO_CHAR(productPrice, 'fm9,999,999,999')
TO_CHAR(REGDATE, 'yyyy-mm-dd')
like로 찾을때는 쿼리문이 아닌 pstmt.setString(1, "%"+serchProduct+"%"); 여기에 넣기!

<input id="serchProduct" name="serchProduct" 
       type="text" value="${param.serchProduct }" 
       oninvalid="this.setCustomValidity('뭘 찾을래?')" required/>

검색한 값이 검색 후 없어지지 않게 인풋의 벨류에 사용자가 입력한 값을 넣어주었다.

	public ArrayList<ProductVO> serchProduct(String serchProduct) {
		int result = 0;
		String sql = "select productName, TO_CHAR(productPrice, 'fm9,999,999,999') productPrice, productType, TO_CHAR(REGDATE, 'yyyy-mm-dd') regdate from product where productname like ? order by productNum desc";
		conn = db.getConnection();
		ArrayList<ProductVO> list = new ArrayList<>();
		try {
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, "%"+serchProduct+"%");
			result = pstmt.executeUpdate();
			// 검색이 안되면 어쩔건지?
			ResultSet rs = pstmt.executeQuery();
			while (rs.next()) {
				ProductVO vo = new ProductVO();
				vo.setProductName(rs.getString("productName"));
				vo.setProductPrice(rs.getString("productPrice")+"원");
				vo.setProductType(rs.getString("productType"));
				vo.setRegdate(rs.getString("regdate"));
				list.add(vo);
			}
			pstmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return list;
	}

메인화면을 따로따로 만들고있는데 잘 하고있는거..겠지...

<header>
<jsp:include page="header.jsp"></jsp:include>
</header>
<nav>
<jsp:include page="nav.jsp"></jsp:include>
</nav>
profile
화이탱!

0개의 댓글