Connexion à une base pour identification - Netbeans + Visual Web Pack.
Bonjour,
Je souhaite faire une page de connexion avec un login et un mot de passe dans Netbeans avec le Visual Web Pack.
La page est simple :
- 1 champ "text field" nommé "login" pour entrer le login
- 1 champ "password"
- 1 bouton "connecter" qui renvoi sur une autre page.
Je souhaite vérifier si le login et le mot de passe correspondent bien dans une table de ma base. Table logname / colonnes : log_nom et log_pass.
La requete dans le "lognameRowSet" est la suivante :
Code:
1 2 3 4
| SELECT ALL logname.log_nom,
logname.log_pass
FROM logname
WHERE logname.log_nom = ? |
Le data provider s'appelle lognameDataProvider.
Le code sur le bouton est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public String connecter_action() {
String req = "SELECT log_nom, log_pass FROM logname";
String utilisateur = login.getText().toString();
String motpasse = password.getText().toString();
try {
// 1 iere solution : création de la requete a la volée
getSessionBean1().getLognameRowSet().setCommand (req + " WHERE name = " + utilisateur.toString() );
// fin de la premiere solution
// 2 ieme solution : =? de la requete est remplacé par login.getText() avec la fonction setObject()
getSessionBean1().getLognameRowSet().setObject(1, login.getText());
//fin de la 2 ieme solution
} catch (Exception e) {
error("Cannot switch to person " +
lognameDataProvider.getValue("logname.log_nom"));
log("Cannot switch to person " +
lognameDataProvider.getValue("logname.log_pass"), e);
}
if (utilisateur.equals(lognameDataProvider.getValue("logname.log_nom")))
{
if (utilisateur.equals(lognameDataProvider.getValue("logname.log_pass")))
{
return "accepte";
}
}
return "erreur";
} |
LNetbeans ne retourne aucune erreur mais à l'exécution, Tomcat retourne une erreur 500 qui apparemment est du à un probleme de requete sur la base.
J'ai lu et réalisé (ça fonctionne) les tutoriels concernant les accès aux données d'une base mais ils se font tous avec des listes déroulantes, rien sur une vérification à partir de champs.
Avez-vous une idée d'où pourrait se trouver l'erreur ou comment faire ce genre de vérification ?
L'accès à la base fonctionne très bien, j'ai vérifié en faisant des requetes avec des objets "table" de VWP.
Merci