BANCO DE DADOS: localhost > banco > contas
A tabela está assim: id, nick, senha, score, dinheiro e banco.
Estou usando uma tela de login que usa o 'nick' e 'senha' pra logar, ao digitar a senha corretamente ele guarda o oque foi digitado pra comparar com 'nick' em uma String 'nicknamebanco'. Quero usar essa informação pra buscar o 'id', e guardar na int 'idbanco' que já foi criada. Não faço nem ideia de como fazer isso.
Aqui está o check login:
package model.dao;
import connection.ConnectionFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class InfoBancoDAO {
public boolean checkLogin(String nickname, String senha) {
Connection con = ConnectionFactory.getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;
boolean check = false;
try {
stmt = con.prepareStatement("SELECT * FROM contas WHERE nick = ? and senha = ?");
stmt.setString(1, nickname);
stmt.setString(2, senha);
rs = stmt.executeQuery();
if (rs.next()) {
check = true;
}
} catch (SQLException ex) {
Logger.getLogger(InfoBancoDAO.class.getName()).log(Level.SEVERE, null, ex);
} finally {
ConnectionFactory.closeConnection(con, stmt, rs);
}
return check;
}
}
E aqui a ação ao clicar em logar:
private void botaologarActionPerformed(java.awt.event.ActionEvent evt) {
if(!"".equals(areanickname.getText()) && !"".equals(areasenha.getText())){
InfoBanco.setNicknamebanco(areanickname.getText());
InfoBanco.setSenhabanco(areasenha.getText());
InfoBancoDAO dao = new InfoBancoDAO();
if(dao.checkLogin(areanickname.getText(),areasenha.getText()) == true){
Conta_Bancaria cb = new Conta_Bancaria(null,true);
this.dispose();
cb.setVisible(true);
}else{
ErroLoginNaoExiste elnx = new ErroLoginNaoExiste(null,true);
elnx.setVisible(true);
}
}else{
ErroLoginVazio elv = new ErroLoginVazio(null,true);
elv.setVisible(true);
}
}
Alguém pode me mostrar como guardar o valor na variável, ai vou conseguir fazer nas outras.