Estou desenvolvendo um sistema, estou usando MVC(model view controller),
nas view do projeto deixo a chamada com controller com um metodo que usa o helper pra obter e setar os campos da view e o controller nos seus metodos chama metodos do DAO
o problema acontece na função do select, criei o select para a funcionalidade da pesquisa passando txtPesquisarNome como campo de pesquisa pelo nome
porem ao clcikar no botão, nada acontece, os campos da tela de cadastro login não são preenchindos com os dados vindo no banco
github:
CadastroLoginController:
public Login selectporNome(String nome) throws SQLException
{
nome = TelaCadastroLogin.txtPesquisarNome.getText();
Connection conexao = new Conexao().Conectar();
LoginDAO loginDAO = new LoginDAO(conexao);
Login login = loginDAO.selecioneLoginNome(nome);
if(login == null)
{
JOptionPane.showMessageDialog(null, "Login não encontrado!");
}
else
{
helper.setModelo(login);
}
return login;
}
CadastroLoginHelper:
//metodo obter modelo
public Login obterModelo()
{
String usuario = view.getTxtLogin().getText();//string usuario recebe view pegue gettxtlogin e pegue o texto
String nome = view.getTxtNome().getText();//string nome recebe view pegue getttxtnome e pegue o texto
String senha = view.getTxtSenha().getText();//string senha recebe view pegue gettxtsenha e pegue o texto
String email = view.getTxtEmail().getText();//string email recebe view pegue gettxtemail e pegue o texto
String tipo = ((String) view.getTxtTipo().getSelectedItem());//string tipo recebe view pegue gettxttipo e pegue o item selecionado
String data = (view.getTxtData().getText());
//construir objeto do tipo login
Login login = new Login(usuario,nome,senha,email,tipo, data);
return login;
}
//metodo para setar o modelo
public void setModelo(Login login)
{
view.txtLogin.setText(login.getUsuario());
view.txtNome.setText(login.getNome());
view.txtSenha.setText(login.getSenha());
view.txtEmail.setText(login.getEmail());
if(view.txtTipo.getItemAt(1).contains("Admin"))
{
view.txtTipo.setSelectedIndex(1);
}
else if (view.txtTipo.getItemAt(1).contains("Usuario"))
{
view.txtTipo.setSelectedIndex(2);
}
view.txtData.setText(login.getData());
}
LoginDAO:
//metodo para trazer todos logins do banco de dados passando como parametro de pesquisa o nome
public Login selecioneLoginNome(String nome) throws SQLException {
Login login = new Login();
//Faz a instância da classe Login
String sql = "select * from login where nome = ?";
//Instrução SQL para seleção de registro específico da tabela login, pelo nome;
nome = view.TelaCadastroLogin.txtPesquisarNome.getText();
try {
PreparedStatement pstm = conexao.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
pstm.setString(1, "nome");
ResultSet rs = pstm.executeQuery();
while(rs.first()){
//Laço de repetição para preencher com os dados do banco o objeto Login;
login.setUsuario(rs.getString("usuario"));
login.setSenha(rs.getString("senha"));
login.setEmail(rs.getString("email"));
login.setTipo(rs.getString("tipo"));
login.setData(rs.getString("data"));
//"seta" os atributos da classe Login com os dados dos campos do banco - pega os dados do banco para pesquisa no formulário
}
} catch (SQLException ex)
{
JOptionPane.showMessageDialog(null, "Login não encontrado!" + ex);
}
finally
{
conexao.close();
}
return login;
}