[Resolvido]Ilegal start of expression Java

3 respostas
postgresqlprogramaçãojava
felipe1234

Pessoal ao declar um metodo void ele aparece o seguinte erro ilegal start of expression Java poderiam me ajudar grato.

public void alterarSenha(int id, String novaSenha){
  
    
    String sql = "UPDATE tb_Usuario set usu_senha = ? where usu_id = " + id;
    try {
        
        pst = con.prepareStatement(sql);

        pst.setString(1,novaSenha);
        pst.executeQuery();
        pst.executeUpdate();
        
        JOptionPane.showMessageDialog(null, "Senha alterada:");
    } catch (SQLException ex) {
        Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
}

3 Respostas

TerraSkilll

Diga a linha exata em que está ocorrendo o erro ou poste o stacktrace completo, assim fica mais fácil te ajudar. Duvido que seja por causa do void.

Por que você executa executeQuery() e logo em seguida executeUpdate() ? Não lembro se isso é necessário.

Abraço.

G

Felipe.
Testei o seguinte código utilizando banco MySQL:

public void alterarSenha(int id, String novaSenha) {
        
        String sql = "UPDATE tb_Usuario set usu_senha = ? where usu_id = " + id;
        try {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/duvidaguj", "root", "");
            
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1,novaSenha);
            pst.execute();
        
            pst.close();
            con.close();            
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Funcionou sem problemas aqui.
Tente remover os metodos pst.executeQuery() e pst.executeUpdate() e trocar por pst.execute()
Verifique se esta importando todas as classe necessárias e se o driver de conexão é o correto.

felipe1234

Consegui pessoal era isso mesmo obrigado

Criado 15 de janeiro de 2017
Ultima resposta 17 de jan. de 2017
Respostas 3
Participantes 3