在ResultSet中搜索特定值方法?

时间:2011-01-18 03:26:06

标签: java sql search jdbc resultset

我是否可以使用ResultSet方法搜索ResultSet并检查它是否具有特定的值/元素?

ArrayList.contains()方法类似。

如果没有,你不需要输入搜索方法,我会做一个:)

提前致谢。

2 个答案:

答案 0 :(得分:5)

不要在Java端进行搜索。这是不必要的缓慢和内存占用。你基本上接管了数据库的设计目标。只需让DB完成它的设计工作:借助SQL语言功能选择并准确返回所需的数据。

开始学习SQL WHERE clause。例如,要检查用户名/密码是否匹配,请执行以下操作:

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!
}

答案 1 :(得分:2)

假设您的意思是SQL ResultSet,答案是否定的,您必须编写一个。 JDBC驱动程序通常不会一次检索所有行(如果查询返回100万行,则会怎样)。您必须阅读行并自行过滤。