Le code de requête et requête:Impossible d'utiliser une requête LIKE dans un PreparedStatement JDBC?
ps = conn.prepareStatement("select instance_id, ? from eam_measurement where resource_id in (select RESOURCE_ID from eam_res_grp_res_map where resource_group_id = ?) and DSN like '?' order by 2");
ps.setString(1,"SUBSTR(DSN,27,16)");
ps.setInt(2,defaultWasGroup);
ps.setString(3,"%Module=jvmRuntimeModule:freeMemory%");
rs = ps.executeQuery();
while (rs.next()) { bla blah blah blah ...
Renvoie un ResultSet
vide.
Grâce débogage de base que j'ai trouvé son troisième bind qui est le problème à savoir
DSN like '?'
J'ai essayé toutes sortes de variations, dont le plus sensible semblait utiliser:
DSN like concat('%',?,'%')
mais cela ne fonctionne pas comme je manque le '
de chaque côté de la chaîne concaténée donc j'essayer:
DSN like ' concat('%',Module=P_STAG_JDBC01:poolSize,'%') ' order by 2
mais je n'arrive pas à trouver un moyen de les faire fonctionner.
Qu'est-ce qui me manque?
Ecriture de code Java dans un fichier JSP plutôt que dans une classe Java réelle (où ** ** l'aurait fait) et avoir des problèmes avec le code Java particulier n'en fait pas un problème JSP. Vous seriez confronté exactement au même problème si vous le faites dans une classe Java réelle. J'ai donc enlevé la balise '[jsp]' car c'est sans importance. – BalusC
Vrai, ce n'est pas spécifique à JSP, mais il n'y a rien de mal * à utiliser un tel code dans une servlet selon la plupart des livres que j'ai lus, surtout quand il s'agit d'une page de rapport de 40 lignes est un peu exagéré :) Mais j'apprécie votre point! – SeerUK