Когда я выполняю следующий запрос к базе данных, содержащей таблицу «comm_list» и поле «sr_no» типа «Int» в таблице «comm_list», я получаю правильный набор результатов.
SELECT MAX(sr_no) FROM comm_list;
Приведенный выше запрос должен получить макс. серийный номер. так что, когда я ввожу новую запись, я ввожу (серийный номер + 1) в столбец «sr_no», чтобы я мог отслеживать номер. записей в базе данных.
Я знаю, что это можно сделать автоматически, создав поле "sr_no" первичным ключом и заставив его автоматически увеличиваться всякий раз, когда вводится новая запись, но у меня уже есть другой первичный ключ в таблице, поэтому я не могу сделать это поле "sr_no" как первичный ключ.
Когда я выполняю вышеуказанный запрос из своей Java-программы, чтобы получить макс. серийный номер нет, возвращенный набор результатов не содержит записей. Я не понимаю, где проблема. Я сохраняю записи из java-программы в базу данных с помощью драйвера jdbc.
Ниже приведен фрагмент кода моей Java-программы.
PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
getSerial.execute();
ResultSet rs = getSerial.getResultSet();
System.out.println(rs.toString());
System.out.println(rs.getFetchSize()); // output - 0
srNo = rs.getInt(1) + 1;
System.out.println(srNo);