Voici mon code PrepareStatement. Il ne génère pas la requête SQL correcte. Il ne va pas au-delà du premier énoncé println. Il affiche également ** NON SPÉCIFIÉ ** dans la requête (voir ci-dessous).
Comment pouvons-nous résoudre ce problème, s'il vous plaît?
ps1 = con.prepareStatement(
"select stuId, name, relationsName, houseAddress, houseNumber from temp where "
+ " stuId like '?%' and "
+ " sex = '?' and "
+ " name like '?%' and "
+ " age BETWEEN ? and ? and "
+ " relationsName like '?%' "
+ " order by name asc limit 0, 150000 "
);
System.out.println("ps1 Avant : " + ps1);
sortie:
ps1 Avant : com.mysql.jdbc.JDBC4PreparedStatement@14d55de: select stuId, name, relationsName, houseAddress, houseNumber from temp where stuId like '?%' and sex = '?' and name like '?%' and age BETWEEN ** NON SPÉCIFIÉ ** et ** NON SPÉCIFIÉ ** et relationsName like '?%' order by name asc limit 0, 150000
Il ne va pas au-delà de ce point. Il affiche également NON SPÉCIFIÉ dans la requête (veuillez voir jusqu'à la fin).
Toute suggestion s'il vous plaît?
ps1.setString(1, stuId);
ps1.setString(2, gender);
ps1.setString(3, name);
ps1.setInt(4, startAge);
ps1.setInt(5, endAge);
ps1.setString(6, relationsName);
System.out.println("ps1 Après : " + ps1);
rs = ps1.executeQuery();