Pegar numero de linhas que já estão no banco

6 respostas
J
Amigos, preciso passar um interior pra minha aplicação com o número de linhas + 1 q tenho o banco. Mas não sei como pegar o resultado da string "sql" abaixo.
sql = "select into max(cod_aula) from aula";
        //sql = "SELECT COUNT(*) FROM aula";
        int ultima_Aula = 0;

        try{
            conexao = DAOfactory.getConexao(DAOfactory.POSTGRES);
            stmt = conexao.prepareStatement(sql);
            resultado = stmt.executeQuery();
                        if(resultado.next())
                            ultima_Aula = resultado.getInt(1);         
        }catch...

  return ultima_Aula;

Agradeço desde já !

6 Respostas

naldoCesar

talvez se vc usar:

SELECT MAX FROM (sua tabela)

possa ajudar pelo que eu entendi vc quer pegar o ultimo resultado do banco certo?

se for use o MAX

J

Olá Naldo,

Sim… quero pegar a quantidade de linhas

talvez se vc usar:
SELECT MAX FROM (sua tabela)

mas como transformar isso em int ?

ops… Nao funciona isso !!! :oops:

furutani

Olá

O seu problema deve pegar o valor retornado pelo select.
Coloque um alias no select

SELECT MAX  AS numMax FROM (sua tabela)

depois pegue no resultset

resultado.getInt("numMax");

PS: A declaração de alias muda de banco para banco. Mas a maioria usa AS

marcosbrandao

Me corrijam se eu estiver errado:
Mas, MAX não eh uma função do banco?
entao vc tem que passar um valor para esta função:

e isso vai retornar, se for um ivalor numerico, o valor mais alto e nao a qtd de linhas.

vc tem que fazer como o colega maracuja disse, que ai vai pegar a qtd de registros q a consulta retornou…

fabim

tira esse INTO da sua clausula e tenta de novo… eu conheco INTO qdo vc quer atribuir um resultado de um select dentro de uma variavel, declarada no proprio SQL…

JMan

Realmente, na verdade a maioria dos BD’s permite que não se uso o AS para alias.

Podendo ser

Criado 5 de junho de 2007
Ultima resposta 5 de jun. de 2007
Respostas 6
Participantes 6