0

ビューが null を返すのはなぜですか? 前もって感謝します。

これは私のビューjspです

String abb = "ab";
String cdd = "cd";
UserPass user = UserDb.selectUser(abb,cdd);
out.println(user);

これは私のUserPassクラスです

public class UserPass {
    String username;
    String password;

    public UserPass(){
       this.username ="";
       this.password ="";     
    }

    public void setUserName(String username) {
       this.username = username;
    }

    public String getUserName(){ 
       return username;
    }
}

最後に、データ パッケージ UserDb

String query = "select user_name from UserPass where user_name = ? AND user_password = ? " ;

try{
    ps = connection.prepareStatement(query);
    ps.setString(1, username);
    ps.setString(2, password);

    rs = ps.executeQuery();

    if (rs.getString("user_name") != null) {
        UserPass up = new UserPass();
        up.setUserName(rs.getString("user_name"));
        return up;

    } else {
        return null;
    }
}

私のデータベースはシンプルで、エントリは user_name と user_password です。ビューは null を返します

4

1 に答える 1

2

現在の行が最初に有効かどうかを確認するには、 rs.next()を使用する必要があります。

rs = ps.executeQuery();
if (rs.next()) {
    UserPass up = new UserPass();
    up.setUserName(rs.getString("user_name"));
    return up;
} else {
    return null;
}
于 2012-09-12T00:41:34.117 に答える