1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como comparar dados

Olá, boa tarde! Seguinte, estou tentando desenvolver uma aplicação de login, mas encontrei alguns problemas nas hora de comparar os dados do meu BD. Nesta aplicação eu quero que o programa compare o valor digitado no JTextLogin e quando clicar no botão entrar ele me retorne com o nome da pessoa referente ao login digitado em outro frame. Segue ai o meu codigo:

"tela Login"

public class testeS extends javax.swing.JDialog {

/* Creates new form testeS */ public testeS(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); }

/* This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // private void initComponents() {

jBRetornaNome = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jTLogin = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

jBRetornaNome.setText("Envia Nome do BD"); jBRetornaNome.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jBRetornaNomeActionPerformed(evt); } });

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(75, 75, 75) .addComponent(jBRetornaNome, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(26, 26, 26) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(112, 112, 112) .addComponent(jTLogin, javax.swing.GroupLayout.PREFERRED_SIZE, 177, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(111, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(51, 51, 51) .addComponent(jBRetornaNome, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(51, 51, 51) .addComponent(jTLogin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(54, Short.MAX_VALUE)) );

pack(); }//

private void jBRetornaNomeActionPerformed(java.awt.event.ActionEvent evt) { comparaLoBD(); //retornaNome(); }

/* @param args the command line arguments / public static void main(String args[]) { / Set the Nimbus look and feel / // / If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html / try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(testeS.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(testeS.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(testeS.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(testeS.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //

/ Create and display the dialog / java.awt.EventQueue.invokeLater(new Runnable() { public void run() { testeS dialog = new testeS(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); }

// Variables declaration - do not modify private javax.swing.JButton jBRetornaNome; private javax.swing.JLabel jLabel1; private javax.swing.JTextField jTLogin; // End of variables declaration

public void comparaLoBD(){ PessoaDao pd = new PessoaDao(); testeP a = new testeP();

for(Pessoa p: pd.procuraNome()){ if(pd.listarPessoaNome(jTLogin.getText())){

dispose();

a.retJlabel(p.getNome()); a.setVisible(true);

}else{ JOptionPane.showMessageDialog(null, "Erro ao comparar os valores!"); } //} } } }

"tela que aparece quando clico com o botão entrar"

public class testeP extends javax.swing.JFrame {

/* Creates new form testeP */ public testeP() { initComponents(); }

/* This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // private void initComponents() {

jLRecebeNomeBD = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLRecebeNomeBD.setFont(new java.awt.Font("Meiryo", 1, 24)); // NOI18N

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(27, 27, 27) .addComponent(jLRecebeNomeBD, javax.swing.GroupLayout.PREFERRED_SIZE, 332, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(41, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(49, 49, 49) .addComponent(jLRecebeNomeBD, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(174, Short.MAX_VALUE)) );

pack(); }//

/* @param args the command line arguments / public static void main(String args[]) { / Set the Nimbus look and feel / // / If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html / try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(testeP.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(testeP.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(testeP.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(testeP.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //

/ Create and display the form / java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new testeP().setVisible(true); } }); }

// Variables declaration - do not modify private javax.swing.JLabel jLRecebeNomeBD; // End of variables declaration

public void retJlabel(String nome){ PessoaDao pd = new PessoaDao();

jLRecebeNomeBD.setText(nome); jLRecebeNomeBD.setVisible(true);

} }

"Este é o Bean Pessoa"

public class Pessoa {

Integer idPessoa; String nome; String login; String senha;

public int getIdPessoa() { return idPessoa; }

public void setIdPessoa(int idPessoa) { this.idPessoa = idPessoa; }

public String getNome() { return nome; }

public void setNome(String nome) { this.nome = nome; }

public String getLogin() { return login; }

public void setLogin(String login) { this.login = login; }

public String getSenha() { return senha; }

public void setSenha(String senha) { this.senha = senha; } }

"Este é o DaoPessoa"

public class PessoaDao {

Statement stm; PreparedStatement pstm; ResultSet rs;

String insereDadosP = "INSERT INTO PESSOA (NOME, LOGIN, SENHA) VALUES (?,?,?)"; String consultaP = "SELECT * FROM PESSOA WHERE LOGIN = ?"; //String consultaUltimo = "SELECT MAX(IDPESSOA) AS IDPESSOA FROM PESSOA";

AcessoMySql bd = new AcessoMySql();

public boolean listarPessoaNome(String login){ boolean lis = false; //Pessoa pes = new Pessoa(); try { pstm = bd.conectar().prepareStatement(consultaP); pstm.setString(1, login); rs = pstm.executeQuery();

if(rs.next()){ lis = true;

} } catch (Exception e) { e.printStackTrace();

} return lis; }

public List procuraNome(){ String pN = "SELECT * FROM PESSOA"; PreparedStatement stm1; ResultSet rs1;

List pe = new ArrayList<>();

try { stm1 = bd.conectar().prepareStatement(pN);

rs1 = stm1.executeQuery(); rs1.first();

while(rs1.next()){ Pessoa pess = new Pessoa(); pess.setNome(rs1.getString("nome"));

pe.add(pess); }

} catch (Exception e) { System.out.println("Erro!" + e); JOptionPane.showMessageDialog(null, e); } finally{ bd.desconctar(); } return pe; } }

"Esta minha conexão com o BD"

public class AcessoMySql {

Connection con;

public Connection conectar(){ try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/teste","root",""); } catch (ClassNotFoundException ex) { ex.printStackTrace(); System.out.println("Não foi possivel encontrar o Driver!"); } catch (SQLException ex){ ex.printStackTrace(); System.out.println("Não foi possivel conectar ao banco!"); } return con; }

public void desconctar(){ try{ con.close(); }catch (SQLException ex){ ex.printStackTrace(); } } }

  • Você esta conseguindo fazer o login ou não ?

    -Santos-S   3 meses atrás
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.