Récupération ResultSet dans liste<objet>
Bonjour tout le monde;
J'utilise JDBC excel pour avoir les éléments dans la base (base excel). J'ai réussi à avoir les éléments de la colonne, sans problème. Maintenant, je voudrais avoir le résultat afficher dans console d'éclipse, pour cela j'ai créer une liste d'objet puis j'ai affecté le "Resultset" dedans, j'ai ensuite testé et c'est là le problème. Je vais vous montrer un extrait de code afin que vous puissiez comprendre mon problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public static int testeExtraction() {
.....
ResultSet rs = s.executeQuery("SELECT * FROM [Liste Base DSCI ANALAKELY$]");
while (rs.next()){
System.out.println(rs.getString("NOMCLIENT"));
System.out.println(">>>>> while nom client");
listclient.add(new Client(rs.getString("NOMCLIENT")));
nb ++
}
.......
return nb;
} |
cela affiche les noms des clients dans le console et le nombre de ligne dans l'interface.
J'ai donc continuer, j'ai modifié comme suit:
....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
while (rs.next()){
listclient.add(new Client(rs.getString("NOMCLIENT")));
nb ++;
}
Iterator<Client> li = listclient.iterator();
while (li.hasNext()){
Client client2 =li.next();
System.out.println(">>>>>lir: "+client2);
} |
et le résultat dans le console d'eclipse est :
>>>>>lir: com.telma.dao.Client@9ff1d3
>>>>>lir: com.telma.dao.Client@bd76d7
>>>>>lir: com.telma.dao.Client@c54edf
>>>>>lir: com.telma.dao.Client@1bd2e90
>>>>>lir: com.telma.dao.Client@13c1ae3
>>>>>lir: com.telma.dao.Client@109423b
>>>>>lir: com.telma.dao.Client@db4489
>>>>>lir: com.telma.dao.Client@1708e32
>>>>>lir: com.telma.dao.Client@879c56
...........
cela n'affiche que le nom du package de la classe Client et ces lettres et chiffres après le "@". Je ne comprend pas d'où vient ce problème. Avez vous déjà rencontré ce genre de problème? Aidez-moi svp, ça fait déjà 2 jours que je me suis coincée là;:calim2:
Merci beaucoup, à plus
recherche avancée sql jdbc excel (java excel)
Bonjour à tous,
Merci bien, j'ai essayé avec le code que vous m'aviez envoyé mais cela ne marche pas, le résultat retourné est toujours toute la liste dans la base mais non pas les lignes qui contiennent seulement le mot entre %....%, je l'ai modifié comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public static List<Client> getListClient(String search_txt) {
...
String where_script = "WHERE 1<2 ";
String arg = search_txt == null ? "" : search_txt.trim();
if (arg.length() > 0)
{
where_script += "AND NOMCLIENT LIKE '%" + arg + "%'";
....
String script = "SELECT NOMCLIENT, LOGIN FROM [Liste Base DSCI ANALAKELY$] " + where_script;
}
.......
return listclient; |
et j'ai créé une autre méthode toString en bas:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public String toString() {
....
StringBuilder stringbuilder = new StringBuilder();
boolean first = true;
List<Client> listclient = new ArrayList<Client>();
....
ResultSet rs = s.executeQuery("SELECT NOMCLIENT, LOGIN FROM [Liste Base DSCI ANALAKELY$] WHERE NOMCLIENT LIKE %%");
.....
for(Client client : listclient){
if(first) first = false;
else stringbuilder.append(", ");
stringbuilder.append(client);
}
....
return stringbuilder.toString() ; |
Auriez vous une idée pour cela, je me suis coincée la dessus,
Merci bcp
option where like%% avec excel java
Bonjour à tous,
Concernant toujours de la recherche avancé "WHERE ... LIKE %%" excel java; je crois que celui là ne marche pas avec excel, j'ai essayé le code que vous aviez posté:
Code:
1 2 3 4 5 6
| String arg = search_txt == null ? "" : search_txt.trim();
if (arg.length() > 0)
{
// where_script += "AND NOMCLIENT LIKE '%"+arg+"%'";
where_script += "AND NOMCLIENT LIKE "+ arg +"%'";
} |
cela n'a pas marché, et j'ai fait des recherches sur net, j'ai essayé avec mais ça donne le même erreur,
Quelqu'un pourrait-il m'aider svp, je ne trouve pas comment le faire,
Merci