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

6 respostas
R

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.

6 Respostas

T

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?

.

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”).

B

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

R

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…

B

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);
		}
	}
R

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.

Funcionou! Obrigado.

R

Nem… comeca em 1 mesmo :slight_smile:

Rafael

Criado 2 de fevereiro de 2005
Ultima resposta 2 de fev. de 2005
Respostas 6
Participantes 4