Pegar o resultado da query

5 respostas
A
PreparedStatement ps1 = con.prepareStatement("select count(*) from distribuicao where pro_codigo = ?");

como eu pego o resultado dessa query?
é um numero inteiro

5 Respostas

A

quanto eu tento pegar um um int
ele da esse erro

com.microsoft.sqlserver.jdbc.SQLServerException: A result set was generated for update.

mgarcia

http://www.guj.com.br/article.show.logic?id=7

francis.junio

voce pode fazer assim

PreparedStatement ps1 = con.prepareStatement("select count(*) AS cont from distribuicao where pro_codigo = ?"); 
ResultSet rs = ps1.executeQuery();
Integer contador = rs.getInt("cont");
A
String sql1 = "select count(*) AS cont from distribuicao where pro_codigo = ?";
				PreparedStatement ps1 = con.prepareStatement(sql1);
				ps1.setInt(1, id);
				 ResultSet rs1 = ps1.executeQuery(); 
				
				Integer i = rs1.getInt("cont");
			
				System.out.println(i);

nao da p fazer desse jeito

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

francis.junio

Eu testei aki e encontrei o seu problema. Voce precisa chamar o proximo index do resultSet, da seguinte forma.

String sql1 = "select count(*) AS cont from distribuicao where pro_codigo = ?";  
                 PreparedStatement ps1 = con.prepareStatement(sql1);  
                 ps1.setInt(1, id);  
                  ResultSet rs1 = ps1.executeQuery();   
                  //Esse if verifica se tem proximo objeto no result.
                  if(rs1.next()) 
                        Integer i = rs1.getInt("cont");  
               
                 System.out.println(i);

Fiz o teste aki e com esse if funcionou. qq coisa posta ai de novo.

Criado 2 de julho de 2010
Ultima resposta 7 de jul. de 2010
Respostas 5
Participantes 3