Menu

JAVA - Nombre ligne requete SQL [Résolu/Fermé]

Messages postés
44
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 août 2015
- - Dernière réponse : billypote
Messages postés
44
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 août 2015
- 11 mars 2010 à 10:37
Bonjour tout le monde,
Je galère sur une connerie depuis quelques temps déjà.
Je développe une répertoire d'adresse en JAVA, je charge les données depuis une bdd sql dans un tableau Object[][]. La taille de mon tableau dépend du nombre de lignes et de colonnes de ma table.
Je n'arrive tout simplement pas à récupérer le nombre de lignes, ou alors de façon très sale.

	public void connecter() throws SQLException
	{
		//Connection à la bdd
	    String url = "jdbc:mysql://localhost/";
	    String dbName = "carnet";
	    String driver = "com.mysql.jdbc.Driver";
	    String userName = "root"; 
	    String password = null;
	    try {
	      Class.forName(driver).newInstance();
	      conn = (Connection) DriverManager.getConnection(url+dbName,userName,password);
	    } catch (Exception e) {
	      e.printStackTrace();
	    }
	    
	    stm = conn.createStatement();  

	}
    public  Object[][] chargeAll () throws SQLException
    {    
    	//On récupère le nombre de lignes pour connaitre la taille de notre tableau d'Object
    	rs = stm.executeQuery("SELECT count(*) AS nbLignes FROM contact
    	int nbLignes = rs.getInt("nbLignes");
    
    	//Et le nombre de colonnes...
    	int nbColonnes = rs.getMetaData().getColumnCount();		
		
		
    	Object[][] data = new Object[nbLignes][nbColonnes];

        rs = stm.executeQuery("SELECT * FROM contact");
}


Donc j'ai bien le nombre de colonnes, mais pas le nombre de lignes :/
L'idéal ça serait que j'ai pas besoin d'une première requête pour avoir le nombre de ligne, mais que je l'ai direct à avec mon SELECT *

Merci d'avance pour un éventuel coup de main

PS: J'ai oublié de préciser que la partie connexion était okay. ;)
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
44
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 août 2015
10
12
Merci
Il m'a suffit de poster pour trouver la réponse... Dans le genre topic useless ça se pose la quand même.
J'avais pas bien compris le fonctionnement de la fonction next() pour le ResultSet.

    	rs = stm.executeQuery("SELECT count(*) AS nbLignes FROM contact ");
    	int nbLignes=0;
    	rs.next();
    	nbLignes = rs.getInt("nbLignes");


J'obtiens bien le nombre de lignes.

Dire « Merci » 12

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 39185 internautes nous ont dit merci ce mois-ci