Я делаю проект для своего класса в старшей школе, поэтому мне нужно создать систему биллинга, но я обнаружил проблему, мне нужно получить идентификатор счета, но метод, который я пытаюсь использовать, не возвращает целое число и каждый раз попытаться преобразовать это говорит: «не сообщаемое исключение SQLException; должно быть перехвачено или объявлено как выброшенное», и когда я пытаюсь вернуть его как целое число, оно говорит, что я не объявлял переменную (это должно произойти, потому что переменная находится внутри try catch) .
Я пытался преобразовать набор результатов в int внутри метода, и я пытался использовать публичный int для возврата набора результатов уже в виде целого числа.
public int lastid(){
Connection con = ConnectionFactory.getConnection();
PreparedStatement st = null;
ResultSet rs = null;
List<VendaProduto> vd = new ArrayList<>();
try {
st = con.prepareStatement("SELECT idvenda FROM vendas ORDER BY idvenda DESC LIMIT 1;");
rs = st.executeQuery();
int val = ((Number) rs.getObject(1)).intValue();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Código da venda perdido.");
}
return val;
}
Мне нужно, чтобы эта функция возвращала набор результатов (Sell ID) как целое число, чтобы я мог вставить его в таблицу mysql.