com.miscrosoft.sqlserver.jdbc.SQLServerException: 인덱스6이(가) 범위를 벗어났습니다.

김은지·2023년 3월 21일
0
public int add(productDTO dto) {
		try {
			String sql = "insert into bbsupply_product (product_name, product_size, product_code, product_color, unit_price) values (?, ?, ?, ?, ?)";
			pstat = conn.prepareStatement(sql);
			pstat.setString(1, dto.getProduct_name());
			pstat.setString(2, dto.getProduct_size());
			pstat.setString(3, dto.getProduct_code());
			pstat.setString(4, dto.getProduct_color());
			pstat.setString(5, dto.getUnit_price());
			pstat.setInt(6, dto.getOrder_unit());
			return pstat.executeUpdate();
		} catch (Exception e) {
			System.out.println("상품목록 등록에 실패하였습니다.");
			e.printStackTrace();
		}
		return 0;
	}

6번째 인덱스가 벗어났다는 말은 결국 6번으로 지정된 상품코드가 sql2에 들어가지 못했다는 뜻이다.

String sql2를 보면 ‘?’의 개수는 5개이지만 인덱스는 6개

결국 인덱스의 개수와 ‘?’의 개수가 맞지않아서 생긴 일이기 때문에 둘의 개수를 알맞게 맞춰주면 된다.

0개의 댓글