JAVA - Nombre ligne requete SQL

Résolu/Fermé
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:15
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. ;)
A voir également:

1 réponse

billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
11 mars 2010 à 10:37
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.
12