Поиск ResultSet для конкретного метода значения? - PullRequest
4 голосов
/ 18 января 2011

Существует ли метод ResultSet, который я могу использовать для поиска в ResultSet и проверки, имеет ли он конкретное значение / элемент?

Похоже на ArrayList.contains() метод.

Если нет, вам не нужно вводить метод поиска, я сделаю один:)

Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 18 января 2011

Не выполнять поиск на стороне Java. Это неоправданно медленно и нехватка памяти. Вы в основном берете на себя работу, для которой предназначена БД. Просто дайте БД выполнить работу, для которой она предназначена: выбор и возврат именно тех данных, которые вам нужны, с помощью возможностей языка SQL.

Начните изучать SQL WHERE предложение . Например, чтобы проверить соответствие имени пользователя и пароля, выполните:

connection = database.getConnection();
preparedStatement = connection.prepareStatement("SELECT * FROM user WHERE username=? AND password=md5(?)");
preparedStatement.setString(1, username); 
preparedStatement.setString(2, password);
resultSet = preparedStatement.executeQuery();

if (resultSet.next()) {
    // Match found!
} else {
    // No match!
}
2 голосов
/ 18 января 2011

Предполагая, что вы имеете в виду SQL ResultSet, ответ - нет, вы должны написать его. Драйвер JDBC обычно не извлекает все строки одновременно (что, если запрос вернул 1 миллион строк). Вам нужно будет прочитать строки и отфильтровать их самостоятельно.

...