我寫了一個簡單的代碼來測試登錄名和密碼(登錄名和密碼是由用戶給出的),然後我通過登錄名和密碼將它們存儲在數據庫中進行比較。但問題是函數的返回壞的結果(它甚至瀏覽它在第一行真正的所有行) 這是代碼:代碼比較登錄名和密碼
public String LoginPasswordCheck(Connection con)
{
HashMap<String,String> mapLoginPWD = new HashMap<String,String>();
String sqlLogin;
String checkaccess="true";
String log;
String pwd;
sqlLogin="select login ,password from profil_user;";
try{
st=(PreparedStatement) con.prepareStatement(sqlLogin);
ResultSet rs1 = st.executeQuery();
while(rs1.next())
{
log = rs1.getString("login");
pwd=rs1.getString("password");
mapLoginPWD.put(log, pwd);
}
Iterator iteratorkey = mapLoginPWD.keySet().iterator();
String myKey="";
String value="";
while(iteratorkey.hasNext())
{
myKey = (String) iteratorkey.next();
value= mapLoginPWD.get(myKey);
//login and password given by the user
if(!(this.login.equalsIgnoreCase(myKey)) && !(this.password.equalsIgnoreCase(value))&& !(iteratorkey.hasNext()))
{
checkaccess ="fail";
}
else
checkaccess ="success";
}
}
catch (SQLException e)
{
e.printStackTrace();
}
return checkaccess;
}
我想將每個登錄名與等效密碼 – Rym 2011-06-12 21:15:46
@Rym ok關聯起來,那麼方法名稱就會引起誤解。我以爲你想檢查一個給定的登錄密碼。 – mkro 2011-06-12 21:17:22
啊,這是我的錯誤,我忘了改變它 – Rym 2011-06-12 21:19:55