Requete Mysql JEE mal interprété avec %
Bonjour,
j'ai un soucis concernant une requête SELECT , je m'explique :
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 28 29 30 31 32 33 34 35 36 37
| private static final String SQL_SELECT_PAR_NUM_ARTICLE = "SELECT A.A1,A.A1 FROM TABLE1 A,TABLE2 B WHERE A.A1 = B.A1 AND B.A1 = ?";
@Override
public Articles trouver(String numArticle) throws DAOException {
/* Implémentation de la méthode définie dans l'interface UtilisateurDao */
Connection connexion = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Articles article = null;
try {
/* Récupération d'une connexion depuis la Factory */
connexion = daoFactory.getConnection();
System.out.println("execution de la requete SQL !");
System.out.println("Requete :"+SQL_SELECT_PAR_NUM_ARTICLE);
preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_NUM_ARTICLE, false, numArticle );
resultSet = preparedStatement.executeQuery();
/* Parcours de la ligne de données de l'éventuel ResulSet retourné */
if ( resultSet.next() ) {
article = map( resultSet );
}
} catch ( SQLException e ) {
System.out.println("erreur dans la requete !");
throw new DAOException( e );
} finally {
System.out.println("fermeture de la connection !");
fermeturesSilencieuses( resultSet, preparedStatement, connexion );
}
return article;
} |
Lorsque j'execute cette requete je n'ai pas de soucis, j'ai bien mon renvoie. Mais Lorsque je veux faire une recherche plus "intelligente" et utiliser la syntaxe suivante :
private static final String SQL_SELECT_PAR_NUM_ARTICLE = "SELECT A.A1,A.A1 FROM TABLE1 A,TABLE2 B WHERE A.A1 = B.A1 AND B.A1 LIKE %?%";
Cela ne passe pas du tout dans le code.
Pouvez vous m'aider svp ... :-P