Kürzlich gerade meine Aussagen in SQL vorbereiteten Anweisungen aus Sicherheitsgründen geändert, und hier ist es, was ich mit ..Prepared Statement Fehler
kam leider mit einem kommen, es ist nicht Fehler auf die
"SELECT * FROM owner WHERE username = ? AND" + "password = ?;";
finden
Der gesamte Fehler:
nicht Symbol gefunden: Symbol: Methode prepareStatement (java.lang.String) Lage: variable DbAccess vom Typ HolidayExchange.DBAccess
ich erkennen, dass es einen String zu finden, wenn es ein PreparedStatement sein sollte, aber das ist, wie ich sehe es immer in den Beispielen usw.
ich wahrscheinlich idiotisch etwas zu tun, bin aber jede Hilfe, die das löst, wäre sehr hilfreich!
Die gesamte Methode:
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;
}
}`
Wie lautet der vollständige Paketname von DBAcces? Überprüfen Sie, ob das Javadoc anzeigt, ob es "prepareStatement" unterstützt. – Glenn
public DBAccess() löst ServletException { this.getConnection(); } – Jimmy
Was verweist die getconnection() -Methode, die nur die Verbindung zur Datenbank und 100% funktioniert. – Jimmy