Consulta no MySQL com Java

Olá estou com um pequeno problema , eu tento fazer uma consulta no MySQL

	public void maxHab() {
	try {
		String query = "SELECT nome FROM Pais WHERE populacao =(SELECT max(populacao) FROM Pais);";
		this.statement.executeUpdate(query);

		System.out.println("Nome: " + this.resultset.getString("nome"));
	} catch (Exception e) {
		System.out.println("ERR0: " + e.getMessage());
		System.out.println(resu);
	}

}

e fica dando a mensagem de erro :
Can not issue SELECT via executeUpdate() or executeLargeUpdate().
Qual seria outra alternativa para fazer essa consulta ??

Olha o método ResultSet executeQuery(String sql).

Ele recebe a query por parâmetro e retorna o ResultSet que você precisa.

EDIT: Mandei a documentação do método errado. O do PreparedStatement não recebe parâmetro nenhum, pois ele mesmo é a query.

Método certo: ResultSet executeQuery()

1 curtida

já tento colocar em vez de executeUpdate(query) por executeQuery(query)?

1 curtida

Olá , eu ja tentei colocar o executeQuery(query) mas ai da o erro e e consta null.

Eu editei a resposta, dá uma olhada de novo.

Vai ficar algo assim:

String sql = ... // query com os coringas
PreparedStatement query = ... // cria o prepared statement com a String sql
query.set... // seta os parâmetros nos coringas
ResultSet = query.executeQuery();
// usa o result set
1 curtida

Continuou dando erro null :sweat:

tenta fazer desta forma:

static Statement stmt = null; public static void maxHab(){ try {

        String query = "SELECT nome FROM Pais WHERE populacao =(SELECT max(populacao) FROM Pais);";
        ResultSet rs = stmt.executeQuery(query);
        while(rs.next()){
            /*
                campos q serão retornados
            exemplo:
            String variavel = rs.getTipoDoAtributo("NomeDoCampoDaTabela");
            */
        }
        System.out.println(); //Depois é só colocar as variaveis que vc quer imprimir aqui

} catch (SQLException e) {
	System.out.println("ERR0: " + e.getMessage());
	
    }finally{
        if (stmt != null){
            try {
                stmt.close();
            } catch (SQLException ex) {
                Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
  }
1 curtida