Pegar o resultado da query

7 respostas
A

1. String sql1 = "select count(*) AS cont from distribuicao where pro_codigo = ?"; 2. PreparedStatement ps1 = con.prepareStatement(sql1); 3. ps1.setInt(1, id); 4. ResultSet rs1 = ps1.executeQuery(); 5. 6. Integer i = rs1.getInt("cont"); 7. 8. System.out.println(i);

nao consigo pegar o resultado do contador
se alguem puder me ajudar
muito obrigado

erro:
com.microsoft.sqlserver.jdbc.SQLServerException: The result set has no current row.

7 Respostas

A

estou usando SQLserver

ViniGodoy

Falta fazer rs1.next()

String sql1 = "select count(*) AS cont from distribuicao where pro_codigo = ?";  
PreparedStatement ps1 = con.prepareStatement(sql1);  
ps1.setInt(1, id);  

ResultSet rs1 = ps1.executeQuery();   

if (rs1.next()) {
    int i = rs1.getInt("cont");  
    System.out.println(i);  
}

Por padrão, o ResultSet está posicionado antes do primeiro registro.
O Java dispara uma exception nesses casos, por acaso você não viu?

alarangeiras

Olá… Não conheço muito de SQLServer porém geralmente construimos essa SQL em outros SGBDs da maneira abaixo

SELECT COUNT(expression) FROM tables WHERE predicates;

Espero ter ajudado

Att.

ViniGodoy

Ué, isso ele já sabe. A consulta dele está exatamente nesse formato.

alarangeiras

“…AS count…”

aeciovc

é só um apelido!!

A

Galera muito obrigado
ja rodo aqui

vlww mesmooo

Criado 7 de julho de 2010
Ultima resposta 8 de jul. de 2010
Respostas 7
Participantes 4