Bom dia a todos, estou tendo um grande problema em fazer consulta no banco de dados.
Estou estudando java por minha conta, estou trabalhando com Swing e Eclipse utilizando o banco PostGreeSql.
No evento lostFocus do meu Jtext, preciso enviar os dados dele para ser executada uma consulta para validar a Primary Key.
Preciso que ao ser validada esta Pk, ela me retorne os dados e popule minha JTable.
Estou usando MVC, tenho Listener de cliente (onde está a Pk), um Listener de produtos.
na classe panel dados, tenho um ForEach que roda meus listener para executar a consulta
Como posso executar essa consulta?
Segue código abaixo
public class PanelDadosContaCorrente extends JPanel {
private static final long serialVersionUID = 1L;
//ArrayList do listener DadosContaCorrente
private ArrayList<DadosContaCorrente> listeners = new ArrayList<DadosContaCorrente>();
private ContaCorrenteTO contaCorrente;
private JTextField getCod_clientefkField() {
if (cod_clientefkField == null) {
cod_clientefkField = new JTextField();
cod_clientefkField.setToolTipText("Informe o código do cliente.");
cod_clientefkField.addFocusListener(new FocusAdapter() {
// TODO consulta PanelDados
public void focusLost(FocusEvent e) {
String valor = cod_clientefkField.getText();
int codigo = Integer.parseInt(valor);
//FOREACH para chamar o listener contacorrente e executar a consulta
//não entra
for (DadosContaCorrente listener : listeners) {
listener.consultarClientePk(codigo);
}
//doConsultaFieldFocusLost();
}
});
}
return cod_clientefkField;
}
}
public class ContaCorrenteDAO {
public ClienteTO consultarClientePk(int cod_cliente) throws DAOException{
Connection conn = null;
PreparedStatement ps = null;
try {
conn = getConnection();
String sql = "SELECT * FROM cliente WHERE codigo = ?";
ps = conn.prepareStatement(sql);
ps.executeQuery();
ps.close();
} catch (SQLException e) {
throw new DAOException("Código não encontrado" + e.getMessage());
}
return null;
}
}
public interface DadosContaCorrente {
public void dadosCancelados();
public void dadosContaCorrente(ContaCorrenteTO contaCorrente);
public void consultarClientePk(int cod_cliente);
}
