Exécuter une requête avec des parametres récupérés dans des Object[]
Bonjour à tous,
J'ai 3 composants JList (mois, clients) dans lesquels il est possible de sélectionner un ou plusieurs éléments.
Les éléments sélectionnés sont respectivement placés dans des tableaux d'objets qui portent les mêmes noms.
Ce que je voudrais faire, c'est effectuer une requête paramétrée pour tous les mois sélectionnés, tous les clients sélectionnés et tous les articles sélectionnés.
Je m'y prends de cette façon :
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 38 39 40 41 42 43 44 45 46 47
|
private Object[] mois;
private Object[] clients;
Vector tabLignes = new Vector();
StringBuffer sb = new StringBuffer(20);
String requete = "SELECT distinct MONTHNAME( dateExpReelle ) AS Mois, Clients, Articles, COUNT(Articles) AS 'Nombre articles en retard', SUM(prix) as 'Valeur des articles en retard (en )' " +
"FROM articles, commande, clients " +
"WHERE articles.codeArticle = commande.codeArticle AND clients.codeClient = commande.codeClient " +
"AND Clients = ? " +
"AND dateExpReelle > dateExpPrevue " +
"AND MONTHNAME(dateExpReelle)= ? " +
"GROUP BY Articles;";
PreparedStatement stmt = connexion.prepareStatement(requete);
if(clients!=null){
for(int n=0;n<clients.length;n++){
stmt.setString(1, clients[n].toString());
}
}else {
System.out.println("Aucune donnée ne correspond à votre demande.");
}
if(mois!=null){
for(int j=0;j<mois.length;j++){
sb.append(mois[j]+" ");
stmt.setString(2, mois[j].toString());
}
}else {
System.out.println("Aucune donnée ne correspond à votre demande.");
}
rs = stmt.executeQuery();
// Mémoriser le résultat dans la JTable
while( rs.next()) {
//le 5 designe le nombre de colonnes qui seront récupérées suite à la requête
for(int i=1; i<=5; i++)
{
String ch = rs.getString(i);
ligne.add(ch); //placer les valeurs dans Vector ligne
}
tabLignes.add(ligne);
}
} |
Quand j'exécute ce code, aucune donnée ne m'est retournée alors qu'il existe bien des enregistrements pour les tests que je fais.
Pourriez vous m'aider ?