Select count(NOME) from Usuario; Como pegar o resultado?

Olá Senhores,

tenho uma tabela Usuario e quero saber o número de tuplas…

como eu pego o resultado desta consulta usando um ResulSet

...
String sql = "select count(NOME) from Usuario";
ResutSet rs = stm.executeQuery(sql);
int num = rs.getInt(<???>);

O que coloco no lugar do <???> para pegar o resultado?

Recomendem uma maneira descente de pegar o número de tuplas em uma tabela…

Desde já agradeço.

[quote=rigolin] ... String sql = "select count(NOME) from Usuario"; ResutSet rs = stm.executeQuery(sql); int num = rs.getInt(<???>);

O que coloco no lugar do <???> para pegar o resultado?

.[/quote]

Já tentou o número 1?
rs.getInt (1)

Solução alternativa: altere a consulta para
“select count (NOME) as numeroUsuarios from Usuario”

e pegue com rs.getInt(“numeroUsuarios”).

Eu acho que eh rs.getInt(0); Neh não ?

Ainda não funcionou:

public void instanciaUsuarios() { try { Banco bd = new Banco(); Statement stm = bd.conectaBanco(); String sql = "select count(NOME) as numeroUsuarios from Usuario"; ResultSet rs = stm.executeQuery(sql); int num = rs.getInt("numeroUsuarios"); rs.close(); System.out.println("num: "+num); } catch (Exception e) { System.out.println("+Oooops-> " + e); } }

Já tentei com 0,1 … e nada…

acho que antes de pegar vc tem que dar um rs.next(); pra pegar a primeira linha: se rs.next() retornar true, significa que tem coisa pra pegar, senão não.

public void instanciaUsuarios() {
		try {
			Banco bd = new Banco();
			Statement stm = bd.conectaBanco();
			String sql = "select count(NOME) as numeroUsuarios from Usuario";
			ResultSet rs = stm.executeQuery(sql);
                        int num = 0;
                        if(rs.next()){
			    num = rs.getInt("numeroUsuarios");
                        }
			rs.close();
			System.out.println("num: "+num);			
		} catch (Exception e) {
			System.out.println("+Oooops-> " + e);
		}
	}

1 curtida

[quote=brlima]acho que antes de pegar vc tem que dar um rs.next(); pra pegar a primeira linha: se rs.next() retornar true, significa que tem coisa pra pegar, senão não.
[/quote]

Funcionou! Obrigado.

Nem… comeca em 1 mesmo :slight_smile:

Rafael