This week's book giveaway is in the OCAJP forum.
We're giving away four copies of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) and have Khalid A Mughal & Rolf W Rasmussen on-line!
See this thread for details.
Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

ResultSet

 
Jenn Person
Ranch Hand
Posts: 89
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Alright, I'm finishing up my login page. Users can login successfully, if they provide the wrong password they are notified, however if they enter a username that doesn't exist the servlet bombs.

My query is simple, I select all from my user table where the login ids match. So if there is no match, then obviously the loginID doesn't exist. How do I test for that though?

For example:
String query = "SELECT * from user where loginID = '"+login+"'";
ResultSet resultSet = statement.executeQuery(query);

now where do I go from here? would all the attributes I would have acquired from the query be null, and simply test to see if one if null??
 
Sripathi Krishnamurthy
Ranch Hand
Posts: 232
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
user resultSet.next() as shown

[ March 24, 2005: Message edited by: Bear Bibeault ]
 
Jenn Person
Ranch Hand
Posts: 89
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I already know about the while(resultSet.next()) and that it means there is some results of my query. I'm asking how I can test if there are no results... like if(resultSet==null) ??? I'm new to java and need some help here!! Thanks!
 
Sripathi Krishnamurthy
Ranch Hand
Posts: 232
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
boolean resultExists=false;
ResultSet resultSet = statement.executeQuery(query);
while(resultSet.next())
{
resultExists=true;
//if it enters here, there must be "atleast" one row that has satisfied your query.
//else if it does not enter here, there are ro rows retrieved.
}
you can use the boolean variable in your code to write further logic if required...
this is the only way as I know that you can check whether the resultset has retrieved any rows or not.

Cheers
Sripathi
[ March 24, 2005: Message edited by: Sripathi ]
 
Adeel Ansari
Ranch Hand
Posts: 2874
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Jenn Person:
I'm asking how I can test if there are no results... like if(resultSet==null) ???


ResultSet wouldn't be null, until and unless you assign it null explicitly.
 
Dave Brown
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Don't you just need to do a ..

String sError = null;
String query = "SELECT * from user where loginID = '"+login+"'";
ResultSet resultSet = statement.executeQuery(query);

if (resultSet.next()) {
// check password is correct , set sError if its incorrect..

} else {
sError = "You dont exist !";
}

if (sError != null){
// go login page showing sError
} else {
// do whatever needs to be done after successfull login.
}
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic