2015-11-04 60 views
-1

我正在我的應用程序上實現一個forgot_password類型的功能,我無法找到如何檢查是否有任何返回的行。用戶首先輸入他/她的電子郵件,然後我搜索數據庫,如果發現電子郵件進行,否則停止並告訴他們他們的電子郵件尚未找到;這是我的代碼Java jdbc preparedstatements如何檢查空行

  Connection dbConnection=null; 


        dbConnection= DB.getConnection(); 
      PreparedStatement preparedStatement= dbConnection.prepareStatement("Select email,password from profiles where email=?"); 
       preparedStatement.setString(1, User_Email); 
      preparedStatement.executeQuery(); 
// This code is not working below empty null rows still say email found 
if(preparedStatement==null)   
{ 
    return ok("Email not found"); 
} 
else 
{ 
return ok("Email Found"); 
} 

的USER_EMAIL串正常工作,我已經驗證,但似乎

preparedStatement時== NULL什麼都不做

+0

您需要檢查的executeQuery返回值 – Marged

+0

的可能的複製[如何獲得與的executeQuery()在Java中的回報?](http://stackoverflow.com/questions/23986348/how-to- get-the-return-with-executequery-in-java) – Marged

回答

2

不,你要去了解它的錯誤辦法。 executeQuery()返回ResultSet。你只需要檢查ResultSet是否有行。

ResultSet rs = preparedStatement.executeQuery(); 
    if (rs.next()) { 
     //example 
     String email = rs.getString(1); 
     String pw = rs.getString(2); 
    } 
    else{ 
     //no results!! 
    } 
+0

非常感謝你的工作 – user1591668