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!