PROBLEMAS COM not supported yet

9 respostas
H

galera, quando aperto o botao acessar, acontece isso “not suported yet”

public class TelaLogin extends javax.swing.JFrame {

    ConexaoBD conex = new ConexaoBD();
    PreparedStatement pst = null;
    ResultSet rs = null;
    
    public void Logar(){
        String sql = "select * from usuario where nome_usu=? and senha_usu=?";
        try {
        //as linhas abaixo fazem o chek no banco de dados e liberam o acesso
        pst = conex.PreparedStatement(sql);
        pst.setString(1, jTextFieldcampologin.getText());
        pst.setString(2, jPasswordFieldcamposenha.getText());
        //a linha abaixo executa a query
        pst = (PreparedStatement) pst.executeQuery();
        //se existir usuario e senha ele continua
            if (rs.next()){
                TelaPrincipal tela = new TelaPrincipal();
                tela.setVisible(true);
                dispose();
            }else{ 
                JOptionPane.showMessageDialog(null,"Usuario e/ou senha invalido(s)");
            }
        } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
        }
    }

botao de acessar

private void jButtonAcessarActionPerformed(java.awt.event.ActionEvent evt) {                                               
      
        //chama metodo logar
        Logar();

9 Respostas

H

Alguem?

L

Essa linha

pst = (PreparedStatement) pst.executeQuery();

Está errada, tente assim…

rs = pst.executeQuery();

Do jeito que estava você estava forçando o erro, já que o método executeQuery retorna um ResultSet…

Já o Not supported yet, pode ter sido causa disso…

JOptionPane.showMessageDialog(null, e);

Ao imprimir um erro, tente…

JOptionPane.showMessageDialog(null, e.getMessage());
H

Não da certo, o Not supported yet continua, eu ja desfiz as alteraçõpes e vou tentar outro metodo para validar o usuario com o banco

L

Esqueci de dizer, se está usando jPassword, não use getText, use getPassword…

lucas.sampaio

Qual linha esta dando o erro?
Posta o log dos erros que vai nos ajudar a te ajudar.

Outras observações:

  • Dentro do if(rs.next()){ ... } não está setando os valores no usuário. Ex: usuario.setLogin(rs.getString("nome_usu"));.

  • O objecto Usuario que deve receber os valores do ResulSet não está sendo criado.

  • A linha pst = (PreparedStatement) pst.executeQuery(); é estranha porque não precisa converter um PreparedStatement em um PreparedStatement.

L

Volto a dizer… o método executeQuery retorna um ResultSet e não um PreparedStatement, logo… ele forçanco o casting irá gerar uma Exceção…

H

Amigos, obrigado pelas respostas, mas vou ter q ver outro metodo para validação, não estava dando erro algum, apenas aparecendo Not supported yet,eu ja desfiz todas as alterações e deixei por enquanto sem uma autenticação, alguem pode me ajudar a criar uma? eu não consigo… vou postar como está agora, esta funcionando perfeitamente, porem sem a autenticação com o banco de dados.

package visão;

public class TelaLogin extends javax.swing.JFrame {

    public TelaLogin() {
        initComponents();
    }
        


    private void jButtonSairActionPerformed(java.awt.event.ActionEvent evt) {                                            
        System.exit(0);
    }                                           

    private void jTextFieldcampologinActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        // TODO add your handling code here:
    }                                                    

    private void jButtonAcessarActionPerformed(java.awt.event.ActionEvent evt) {                                               
        TelaPrincipal tela = new TelaPrincipal();
        tela.setVisible(true);
        dispose();
    }
H

@LostSoldier eu ja fiz ele resultar um RS, só que a exceção persistiu…

L

O jeito que estava fazendo estava adequado, bastava trocar a linha que te falei e usar o método getPassword do jPassword…

pst.setString(2, String.valueOf(jPasswordFieldcamposenha.getPassword()));
Criado 28 de abril de 2017
Ultima resposta 28 de abr. de 2017
Respostas 9
Participantes 3