Recay2
Messages postés27Date d'inscriptionvendredi 7 janvier 2011StatutMembreDernière intervention29 juin 2012
-
14 févr. 2012 à 13:58
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
15 févr. 2012 à 08:26
Bonjour, j'ai une classe liste qui m'affiche les listes des contacts, le pb quand je clique sur le bouton A ou B je veux qu'il m'affiche que les prénom qui commence par A ou B etc...... Et je n'arrive pas à le faire svp j'ai vraiment besoin de votre aide.Merci
// Read data from a table
String sql = "SELECT * FROM ajoututilisateur";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}
// Get row data
while (rs.next())
{
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
}
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020369 14 févr. 2012 à 15:06
Bonjour,
Tu as plusieurs solutions pour faire cela :
- Solution 1 : une sélection à partir de la base de données.
Tu récupères la lettre qui est cliquée et tu créé une requête SELECT qui te permet de sélectionner uniquement les nom qui commencent par cette lettre :
"SELECT * FROM contacts WHERE nom LIKE '"lettre"%'";
- Solution 2 : une sélection sur l'arrayList.
Tu parcours tout les éléments de l'arrayList pour ne retenir que ceux dont la première lettre est la lettre que tu as choisis.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020369 14 févr. 2012 à 15:08
- Si tu as peu de noms dans ta base alors, il vaut mieux filtrer les résultats sur l'arrayList, l'exécution sera plus rapide
- Si tu as beaucoup de noms dans ta base alors, pour ne pas surcharger la mémoire vive, il vaut mieux faire une nouvelle requête sur la base à chaque fois.
Recay2
Messages postés27Date d'inscriptionvendredi 7 janvier 2011StatutMembreDernière intervention29 juin 2012 14 févr. 2012 à 16:40
J'ai beaucoup de nom et je veux à partir de la liste quand je clique par exemple sur le bouton A tout les prénoms qui commence par A s'affiche dans une autre fenêtre. Merci
Recay2
Messages postés27Date d'inscriptionvendredi 7 janvier 2011StatutMembreDernière intervention29 juin 2012 14 févr. 2012 à 18:48
Mon probleme je n'arrive pas à le faire, j'ai essayé de créer un actionlistener pour le bouton A mais il m'affiche toujours la liste sans qu'il filtre et me donne tout les prénom qui commence que par A .Merci
// Read data from a table
String sql = "SELECT * FROM ajoututilisateur";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}
// Get row data
while (rs.next())
{
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
}