Impossible d'afficher les string

programmation1 Messages postés 182 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir la communaute,

je suis entrain de developper une petite application avec netbeans et mysql; j'ai reusii à etablir la connexion mais voilà je rencontre des diffciultes il n'affcihe que des données de type int et non de type string que faire? et mon ide n'affiche aucune erreur.Je vous mets en copie le boout de code.

public List<ReprisePojo> searchClient(String racine) {
        String query = "SELECT * FROM comptes where COMW_CLI = '%" + racine + "%' ";

        List<ReprisePojo> clients = new ArrayList<>();
        try {
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            while (resultSet.next()) {
                ReprisePojo client = new ReprisePojo(); 
                client.setCOMW_CLI(resultSet.getString("COMW_CLI"));
                client.setCOMW_INT(resultSet.getString("COMW_INT"));
                client.setCOMW_AGE(resultSet.getString("COMW_AGE"));
                client.setCOMW_DEV(resultSet.getString("COMW_DEV"));
                client.setCOMW_CHA(resultSet.getString("COMW_CHA"));
                client.setCOMW_SUF(resultSet.getString("COMW_SUF"));
                client.setCOMW_LET(resultSet.getString("COMW_LET"));
                client.setCOMW_INT(resultSet.getString("COMW_INT"));
                client.setCOMW_CRT(resultSet.getInt("COMW_CRT"));
                client.setCOMW_DBT(resultSet.getInt("COMW_DBT"));
                clients.add(client);
                break;
            }
            statement.close();
            resultSet.close();
        } catch (Exception ex) {
            System.out.println("Error while searching for client: " + ex);
            return null;
        }
        return clients;
    }

Merci beaucoup
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

" il n'affcihe que des données de type int "
Dans le code que tu montres il n'y a pas d'affichage, alors que veut dire ta remarque ? Ça veut dire que resultSet.getInt("COMW_CRT") et resultSet.getInt("COMW_DBT") renvoie bien des données exploitables ? Ou alors tu parles d'une autre requête qui fonctionne, mais celle-ci ne fonctionne pas du tout ?

Même si je ne sais pas ce que tu veux faire puisque tu n'as donné aucune explication, je pense que
where COMW_CLI = '%" + racine + "%' 
est faux, que la requête ne remonte aucun résultat donc ça te retourne une liste vide où il n'y a rien à afficher...

Remarque : il faudrait enlever ton break, sinon la boucle va s'arrêter après le premier résultat.
Au passage, il faudrait utiliser les PreparedStatement et les try-with-resources

public List<ReprisePojo> searchClient(String racine) {
    String query = "select * from COMPTES where COMW_CLI like ?";
    try (PreparedStatement ps = connection.prepareStatement(query)) {
        ps.setString(1, "%" + racine + "%");
        try (ResultSet rs = statement.executeQuery(query)) {
            List<ReprisePojo> clients = new ArrayList<>();
            while (rs.next()) {
                ReprisePojo client = new ReprisePojo(); 
                client.setCOMW_CLI(rs.getString("COMW_CLI"));
                client.setCOMW_INT(rs.getString("COMW_INT"));
                client.setCOMW_AGE(rs.getString("COMW_AGE"));
                client.setCOMW_DEV(rs.getString("COMW_DEV"));
                client.setCOMW_CHA(rs.getString("COMW_CHA"));
                client.setCOMW_SUF(rs.getString("COMW_SUF"));
                client.setCOMW_LET(rs.getString("COMW_LET"));
                client.setCOMW_INT(rs.getString("COMW_INT"));
                client.setCOMW_CRT(rs.getInt("COMW_CRT"));
                client.setCOMW_DBT(rs.getInt("COMW_DBT"));
                clients.add(client);
            }
            return clients;
        }
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
0