Gravação de Dados em tabela do MYSQL

Galera… o que há de errado no código abaixo ?

String url=“jdbc:mysql://localhost/usuario”;
Connection con;
Statement stmt;

  try {
        Class.forName("com.mysql.jdbc.Driver");  // localizando o Driver de Conexão
    }
 
  catch (java.lang.ClassNotFoundException e) {
        System.err.print("ClassNotFoundException: ");  // tratamento de erro da conexão
        System.err.println(e.getMessage());
    }

// Bloco de conexão e análise

    try {
        
        con = DriverManager.getConnection (url, "root","");
        
        String sql = "insert into usu(nome,funcao,senha) values ('" + nome.getText()+"','"+ txt_funcao.getText() +"','" + senha.getText() + "');";
        Statement p = con.prepareStatement(sql);
        
        ResultSet rs = p.executeQuery(sql);
        
        p.close();    // Fechando conexão
        con.close();
        
        JOptionPane.showMessageDialog(null,"Registro Salvo","Novo Usuário",JOptionPane.INFORMATION_MESSAGE);
        
    }
    
    catch(SQLException ex) {
        System.err.print("SQLException: ");  // tratamento de erros do bloco ded conexão e análise.
        System.err.println(ex.getMessage());
    }
    
}

Não consigo gravar novos dados na tabela.

Recebo a informação…

SQLException: Can not issue data manipulation statements with executeQuery()

Obrigado!!!

Gente já resolvi o problema…

Bem, acredito que o problema estava no linha onde temos a instrução

prepareStatement, ondee na verdade deeveria ser createStatement certo ?

Outro problema, deeveria existir a linha p.executeUpdate(sql).

Valew!!!

Acho que no lugar de excuteQuery(), deveria ser executeUpdate()