Org.postgresql.util.PSQLException: Nenhum resultado foi retornado pela consulta

1 resposta
EuclidesFilizola

ae pessoal, Boa tarde ! Gostaria de saber se alguém pode me ajudar. Não sei porque essa excessão está sendo lançada.

por favor, olha só meu código:

public void adicionarDados(ArrayList<String> nomes, Connection conn) {
		String query;
		ResultSet rs = null;
		try {

			conn = ConexaoPostgreSQL.getConexao();

			query = "INSERT INTO sppweb.produtor(nome_produtor) VALUES(?)";

			PreparedStatement stmt = conn.prepareStatement(query);

			for (int i = 0; i < nomes.size(); i++) {

				stmt.setString(1, nomes.get(i));

				rs = stmt.executeQuery();
				
				while(rs.next()){
					
			rs.getString(1);

				}

			}
			stmt.close();
			rs.close();
			conn.close();

		} catch (SQLException sqlex) {
			sqlex.printStackTrace();
		}

	}

onde essa ArrayList nomes é um arraylist com vários nomes do tipo String.

Alguém ae poderia me ajudar ?

1 Resposta

thiago.correa

Cara, é um insert, logo não vai ter retorno, esse trecho de código:

public void adicionarDados(ArrayList<String> nomes, Connection conn) {   
        String query;   
        try {   
  
            conn = ConexaoPostgreSQL.getConexao();   
  
            query = "INSERT INTO sppweb.produtor(nome_produtor) VALUES(?)";   
  
            PreparedStatement stmt = conn.prepareStatement(query);   
  
            for (int i = 0; i < nomes.size(); i++) {   
  
                stmt.setString(1, nomes.get(i));   
  
                rs = stmt.execute();   
  
  
            }   
            stmt.close();    
            conn.close();   
  
        } catch (SQLException sqlex) {   
            sqlex.printStackTrace();   
        }   
  
    }

PS.: Coloque os teus "close" de recurso dentro de um bloco finally e certifique-se que eles não são nulos antes de fechá-los
PS.: Dê uma olhada no método Statement.addBacth é melhor para o que você quer fazer! Incluir em lote :D

Criado 9 de novembro de 2008
Ultima resposta 10 de nov. de 2008
Respostas 1
Participantes 2