안에 있습니다. 다른 데이터베이스에서 동일한 제품 모델을 가진 레코드가 발견 될 때마다 로컬 데이터베이스의 기존 데이터를 새로운 세부 정보로 업데이트하는 Java 프로그램을 작성하고 있습니다. 레코드가 없으면 대신 새 레코드가 삽입됩니다.While 루프가 If-else 문 (Java)
나는 레코드가 있는지 여부를 확인하기 위해 if-else 문을 사용하고 있습니다. 현재 코드는 단일 레코드에 대해서만 작동합니다. 로컬 데이터베이스와 다른 데이터베이스의 제품 모델이 존재하는 한 로컬 데이터베이스를 계속 업데이트하려고합니다.
는 여기에 내가 현재 사용하고 코드입니다 :
public static void checkExist() {
try {
Statement stmt = conn.createStatement();
int prod_qnty, prod_weight;
float prod_price;
String prod_model = "97801433"; //testing purposes
ResultSet rs = stmt.executeQuery("SELECT * from products where products_model = " + prod_model);
if (rs.next()){
//while (rs.next()) {
prod_qnty = rs.getInt("products_quantity");
prod_price = rs.getFloat("products_price");
prod_weight = rs.getInt("products_weight");
System.out.println(prod_qnty + "\t" + prod_price + "\t" + prod_weight);
updDB(prod_model, prod_qnty, prod_price, prod_weight);
//}
}
else{
insertDB(prod_model, prod_qnty, prod_price, prod_weight);
}
stmt.close();
} catch (SQLException ex) {
//Logger.getLogger(Check.class.getName()).log(Level.SEVERE, null, ex);
}
}
기록이 존재하는 내가 while 루프를 추가 한 후 나는, 그러나, if 문 내에서 while 루프를 추가했습니다. 이제는 어떤 기록도 인쇄 할 수 없습니다. 일단 if (rs.next()) 조건에 들어가면 while 루프 안에 들어 가지 않는 것처럼 보입니다.
누구든지 내가 뭘 잘못하고 있는지 알려주겠습니까? if-else 문에서 while 루프를 사용할 수 있습니까? 대개는 다른 방법으로 while 루프 내에서 if-else 문으로 사용됩니다.
도움이 될 것입니다. 고맙습니다.
로거 출력을 주석 처리하는 이유는 무엇입니까? 그 결과는 아주 중요합니다. –