Récemment seulement changé mes déclarations dans SQL instructions préparées pour des raisons de sécurité et voici ce que je suis venu avec ..Déclaration préparée erreur
Malheureusement, il arrive avec un ne peut pas trouver l'erreur sur le
"SELECT * FROM owner WHERE username = ? AND" + "password = ?;";
L'erreur entière:
symbole Vous ne trouvez pas: symbole: méthode prepareStatement (java.lang.String) emplacement: dbAccess variable de type HolidayExchange.DBAccess
Je me rends compte que c'est de trouver une chaîne quand il devrait être un PreparedStatement mais comment je vois toujours dans les exemples etc.
que je fais probablement quelque chose idiot mais toute aide pour résoudre ce problème serait vraiment utile!
Le procédé entier:
DBAccess dbAccess = new 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;
}
}`
Quel est le nom complet du package de DBAcces? Vérifiez si le javadoc montre s'il supporte même "prepareStatement". – Glenn
public DBAccess() throws ServletException { this.getConnection(); } – Jimmy
Qui correspond à la méthode getconnection(), qui obtient simplement la connexion à la base de données et fonctionne à 100%. – Jimmy