Como retornar a quantidade de registros (ResultSet )

Olá,

Gostaria de saber se existe algum método em ResultSet para retornar a quantidade de registros de uma tabela.

Código

int cont = 1;
int ok;
String strTemp = “”;

try {
ps1 = conexao.prepareStatement(“SELECT * FROM Pessoa”);
ps1.clearParameters();
rs1 = ps1.executeQuery();
// quantos registros ???

   ... continua

ThiagoFCS,
que eu saiba não existe nenhum método em ResultSet que faça isto, porém vc pode fazer o seguinte:

if (rs.last()) // verifica se existe linhas
{ int qtdLinhas = rs.getRow(); // vai para o ultimo registro
rs.beforeFirst(); // volta para o primeiro
}

Eu tambem pensei nisso, porém acontece o seguinte erro

Result set type is TYPE_FORWARD_ONLY

E eu não sei como setar o resultSet para TYPE_SCROLL_SENSITIVE

nem sei se isso iria adiantar

Ola Thiago,

também não sei se vai adiantar, mas seta assim:

mainStatement = mainConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

se der certo nos avise.

falow;

aonde q eu coloco? desta maneira nao funcionou…quem quiser dar uma olhada no codigo e dar alguma alternativa

public int Consultar(ENPessoa objTemp2){
int cont = 1, intRows = 0, ok;
String strTemp = “”;

try {
ps1 = conexao.prepareStatement(“SELECT * FROM Pessoa”);
ps1.clearParameters();
rs1 = ps1.executeQuery();

      /*
if (rs1.last()) // verifica se existe linhas 
{ 
 intRows = rs1.getRow(); // vai para o ultimo registro 
 rs1.beforeFirst(); // volta para o primeiro 
}*/
		
      String astrLista[] = new String[100];  
				 
      while (rs1.next()) {
strTemp = rs1.getString("Nome");
astrLista[cont-1] = strTemp;
++cont;
      }
		
       objTemp2.setAstrNomes( astrLista );
      ok = 1;			
    
    } catch (Exception e) {
System.out.println("-> Search error!");
System.out.println(e.getMessage());
ok=2;
    }
 return ok;

}

Ola Thiago,

vc tentou assim:

mainStatement = mainConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs1 = mainStatement.executeQuery("SELECT * FROM Pessoa");

falow;

Funcionou!!

Desta maneira funciona porem minha mainStatement tem que ser do tipo Statement e nao PreparedStatement como eu vinha utilizando!

Valeu Pessoal!