Consulta em ACCESS

Achei a exceção!

java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY

em qual linha a exceção???

de qualquer forma uma melhorada aqui:

ps.setString(1, tf_obj1.getText()); ResultSet rs = ps.executeQuery(); rs.last(); int numberOfRows = rs.getRow(); st.close(); con.close(); if (numberOfRows != 0){ JOptionPane.showMessageDialog(null,"Posição Ocupada! \nSelecione outra posição!","Mensagem!",",JOptionPane.ERROR_MESSAGE); tf_obj1.setText(null); }else{ JOptionPane.showMessageDialogull,"PosiçãoDisponível!","Mensagem!",JOptionPane.INFORMATION_MESSAGE); }

Continua dando a mesma exceção.
Provavelmente la no ResultSet

java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY

Desse jeito melhorou um pouco:

            Statement st = con.createStatement();
            PreparedStatement ps = con.prepareStatement("SELECT * FROM OBJ WHERE DID1=?");
            ps.setString(1, tf_obj1.getText());
            ResultSet rs = ps.executeQuery();
            rs.next();
            while(rs.next()){
                JOptionPane.showMessageDialog(null,"Posição Ocupada! \nSelecione outra posição!","Mensagem!",JOptionPane.ERROR_MESSAGE);
                tf_obj1.setText(null);
            }
            JOptionPane.showMessageDialog(null,"Posição Disponível","Mensagem!",JOptionPane.INFORMATION_MESSAGE);
            
            st.close();
            con.close();

Nesse caso ai ele reconhece quando a posição está livre ou ocupada, porém quando ela está ocupada, após sair do while, ela também executa a outra JPanel rss

Quando a posição está livre ela não entra no while e executa corretamente o JPanel “Posição Disponível”

estamos quase lá :smiley:

Desse jeito melhorou um pouco:

            Statement st = con.createStatement();
            PreparedStatement ps = con.prepareStatement("SELECT * FROM OBJ WHERE DID1=?");
            ps.setString(1, tf_obj1.getText());
            ResultSet rs = ps.executeQuery();
            rs.next();
            while(rs.next()){
                JOptionPane.showMessageDialog(null,"Posição Ocupada! \nSelecione outra posição!","Mensagem!",JOptionPane.ERROR_MESSAGE);
                tf_obj1.setText(null);
            }
            JOptionPane.showMessageDialog(null,"Posição Disponível","Mensagem!",JOptionPane.INFORMATION_MESSAGE);
            
            st.close();
            con.close();

Nesse caso ai ele reconhece quando a posição está livre ou ocupada, porém quando ela está ocupada, após sair do while, ela também executa a outra JPanel rss

Quando a posição está livre ela não entra no while e executa corretamente o JPanel “Posição Disponível”

estamos quase lá :smiley:

ps.setString(1, tf_obj1.getText()); ResultSet rs = ps.executeQuery(); int numberOfRows = 0; while(rs.next()){ numberOfRows++; } st.close(); con.close(); if (numberOfRows != 0){ JOptionPane.showMessageDialog(null,"Posição Ocupada! \nSelecione outra posição!","Mensagem!",",JOptionPane.ERROR_MESSAGE); tf_obj1.setText(null); }else{ JOptionPane.showMessageDialogull,"PosiçãoDisponível!","Mensagem!",JOptionPane.INFORMATION_MESSAGE); }

AEEEEEEEEEEEEEE DEU CERTOO!! :)))

Muito obrigado companheiro, aprendi muito nesse tópico :slight_smile:

Grande abraço e obrigado novamente.

:D:D

uhhhuuuuu!! 2 dias quebrando cabeça hahahaha
valeu mesmo! :slight_smile: