Olá pessoal!
Meu problema é o método carregar() que não está trazendo as categorias para o meu ComBoxCategoria, esta é a imagem:
Este é o código do método carregar():
public void carregar(Remedio umRemedio) throws ExcecaoSCF {
Categoria umCategoria;
DAOFactory daoFactory = new DAOFactory();
CategoriaDAO categoriaDAO = daoFactory.getCategoriaDAO();
try {
Connection db = Conexao.getConnection();
PreparedStatement st =
db.prepareStatement("SELECT codigo, id_categoria, descricao, quantidade FROM remedio where codigo = ?");
st.setInt(1, umRemedio.getCodigo());
ResultSet rs = st.executeQuery();
if (rs.next()) {
umRemedio.setCodigo(rs.getInt(1));
//remedio.setIdCategoria(rs.getInt(2));
umRemedio.setDescricao(rs.getString(3));
umRemedio.setQuantidade(rs.getInt(4));
//Aqui está o problema
/*categoriaDAO.carregar(umCategoria);
umCategoria = new Categoria();
umCategoria.setIdCategoria(rs.getInt(2));*/
}
rs.close();
st.close();
} catch (SQLException ex) {
throw new ExcecaoSCF("Erro ao carregar um Remedio. Código " + ex.getSQLState() +
"\nDescricao " + ex.getMessage());
}
}
No banco eu possuo uma tabela Remédio com as colunas codigo, descricão e quantidade e uma tabela Categoria com as colunas id_categoria e tipo_categoria, então existe uma chave estrangeira id_categoria (fk_categoria) na tabela Remédio.
Acima eu marquei onde estaria o problema, preciso buscar a categoria do remédio e colocar no JComboBoxCategoria, todos os dados são carregados menos o da categoria no ComboBox.
Abraço!