Как проверить есть ли в ResultSet поле с заданным именем? То есть, перед тем, как сделать
resultSet.getInt("id")
нужно проверить есть ли данное поле в наборе.
Можно получить информацию обо всех колонках в данном resultSet а далее уже выполнить соответствующие проверки. Например, так:
private static boolean isExist(ResultSet resultSet, String columnName) throws SQLException {
if (columnName == null || (columnName = columnName.trim()).isEmpty())
return false;
ResultSetMetaData metaData = resultSet.getMetaData();
for (int i = 0; i < metaData.getColumnCount(); i++)
if (columnName.equals(metaData.getColumnName(i)))
return true;
return false;
}
Вам не нужно делать такую проверку, т.к. она бессмысленна! Метод getInt() бросит исключение SQLException, если такого столбца не будет найдено в результирующем наборе. Это даст понять, где произошла ошибка и исправить ее.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей