Вы фактически выполняете оператор delete дважды, поскольку вы вызываете .execute()
дважды. В большинстве случаев вряд ли у вас будут данные, которые могут быть удалены оператором, если вы запустите его почти сразу же во второй раз.
Вместо этого используйте метод executeUpdate()
, который возвращает вам количество измененных строк:
int rowsAffected = createPlayer.executeUpdate();
if(rowsAffected > 0) {
JOptionPane.showMessageDialog(null, "Player successfully deleted!");
}
else{
JOptionPane.showMessageDialog(null, "Player does not exist!", "notdeleted", JOptionPane.ERROR_MESSAGE);
}