は最近だけで、セキュリティ上の理由のために準備された文にSQLで私の文を変更して、ここで私が思い付いたものです。..準備文のエラー
残念ながら、それはを考え出すのは
"SELECT * FROM owner WHERE username = ? AND" + "password = ?;";
にエラーを見つけることができません
全体のエラー:
見つけることができませんシンボル: シンボル:メソッドのprepareStatement(java.lang.Stringで) 場所:私はそれはそれはPreparedStatementのあるべき時に文字列を見つけることだと実感が、これは、私はいつも、私はおそらくばかげた何かをやっている
例などでそれを見る方法です
型HolidayExchange.DBAccessの変数dbAccessのこれを解決する助けが本当に役に立ちます!
全体方法:
DBACCESS dbAccessの=新しいDBACCESS()。
String sql = "SELECT * FROM owner WHERE username = '?' AND"+
" password = '?'";
PreparedStatement ps = dbAccess.prepareStatement(sql);
ps.setString(1,u);
ps.setString(2,p);
ResultSet rs = dbAccess.executeQuery2(ps);
User user = new User();
while (rs.next()){
user.setFirstname(rs.getString("firstname"));
user.setSurname(rs.getString("surname"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
}
rs.close();
dbAccess.close();
if(user.getUsername().length()==0){
return null;
}else{
return user;
}
} catch (Exception e) {
return null;
}
}`
DBAccesの完全なパッケージ名は何ですか? javadocが "prepareStatement"をサポートしているかどうかを確認します。 – Glenn
public DBAccess()はServletExceptionをスローします。{ this.getConnection(); } – Jimmy
これは、getconnection()メソッドを参照しています。これはデータベースとの接続を取得し、100%動作します。 – Jimmy