if 문을 만들려고했지만 작동하지 않습니다. jtable에서 isbn 책을 찾았 으면 "book"을 삭제하십시오. "else"book "을 찾을 수 없습니다. ?IF ELSE 문을 java delete sql join 메시지에서 삭제
private void elimina_libroActionPerformed(java.awt.event.ActionEvent evt) {
Connection conn = Connessione.ConnecrDb();
Statement stmt = null;
ResultSet emps = null;
boolean found = false;
try{
if(emps.next())
found= true;
String sql= "DELETE FROM progetto.libro WHERE isbn =?";
pst=(OraclePreparedStatement) conn.prepareStatement(sql);
pst.setString (1, txt_isbn.getText());
pst.execute();
if (!found)
JOptionPane.showMessageDialog(null, "LIBRO ELIMINATO");
else{
JOptionPane.showMessageDialog(null, "BOOK NOT FOUND","ERRORE",jOptionPane.WARNING_MESSAGE);
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
하지만 작동하지 않습니다, 나는이
Connection conn = Connessione.ConnecrDb();
Statement stmt = null;
ResultSet emps = null;
try{
String sql= "DELETE FROM progetto.libro WHERE isbn =?";
pst=(OraclePreparedStatement) (PreparedStatement) conn.prepareStatement(sql);
pst.setString (1, txt_isbn.getText());
int deleted = pst.executeUpdate();
if (deleted == 0) {
JOptionPane.showMessageDialog(null, "LIBRO ELIMINATO");
Update_table();
}else
JOptionPane.showMessageDialog(null, "LIBRO NON TROVATO");
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
으로 코드를 변경
당신은 감사를 도와하지만 난이 잘못된 ISBN을 삽입하면 메시지는 수 있습니다 : "책 삭제 ", 만약 내가 올바른 isbn을 삽입 메시지 e는 "책을 찾을 수 없습니다"이며 올바른 isbn을 다시 삽입하면 메시지는 "책 삭제"이고 책은 데이터 배에서 삭제됩니다.
이 코드는 NullPointerException - 'if (emps.next())'를 발생시킵니다. 그것이 실제 실행중인 코드입니까? – Eran
당신의 부하가 null – Pravin
일하지 않음으로써 당신은 무엇을 의미합니까? 여기서'emps'의 인스턴스를 만들면 다음 메서드를 호출 할 때 null이됩니다. – user902383