Sou iniciante em Java.
Já revirei a net toda de tirar essa dúvida.
É o seguinte, estou querendo montar um pequeno sistema de videolocadora aonde tenho por enquanto duas tabelas. Uma de Generos e a outra de Filmes com a seguinte estrutura:
Genero
idgenero int auto_increment,
descricao varchar(100),
primary key(idgenero)
Filme
idFilme int auto_increment,
titulo varchar(100),
genero int,
primary key (idFilme),
CONSTRAINT Filme foreign key(genero)
REFERENCES genero (idgenero)
Já fiz a ligação do banco que é MySQL com o Java e a tabela Genero que não depende de outra está funcionando perfeitamente, más meu desejo agora é ao cadastrar um filme que na informação de genero, eu possa localizar a “DESCRIÇÃO” dos gêneros na tabela filmes para poder gravá-las lá em um JComboBox aonde quero que fique armazenado essas descrições. A tela de Genero está pronta e funcionando. A tela de Filmes só a parte visual tá pronta. Como fazer isso que eu disse?
Obrigado e bons estudos a todos
faça um select dos generos e coloque eles em jcombobox
e na hora de salvar… voce vai saber qual item voce está cadastrando com o metodo getSelectedItem()
e faça outro select dos generos e pegue o item da lista igual ao retorno do getSelectedItem()
ou então… voce pode colocar um campo para o usuário digitar o codigo do genero… e ao digitar o codigo mostrar o nome do genero na frente do campo com uma Jlabel
mande a sua tela… que agente te ajuda mais… ja com a conexão e preenchendo o combobox
o problema é esse dudu. Eu nunca fiz ese tipo de relacionamento… Não posso enviar esse código para o seu email? porque ele é grande
depois que resolvermos isso… posta… para pessoas que tenham duvidas, possam tira-las
Adriano vamos por parte…
acrescente esse metodo no seu generoDAO
[code]
public List getListaTodos() throws SQLException
{
String sql = "SELECT * FROM Genero ";
PreparedStatement stmt = conexao.prepareStatement(sql);
//Pesquisa
ResultSet rs = stmt.executeQuery();
List<Genero> listaGenero = new ArrayList<Genero>();
while (rs.next())
{
Genero gen = new Genero();
//envia os dados para os componentes especificos dos campos selecionados
gen.setIdGenero(Integer.valueOf(rs.getInt("idGenero")));
gen.setDescricao(rs.getString("descricao"));
listaGenero.add(gen);
}
rs.close();
stmt.close();
return listaGenero;
}[/code]
ai voce vai ter uma lista de generos
na sua tela de cadastro de filme
na hora que inicializar a tela voce vai chamar o metodo
private void preencheCombo(){
try {
GeneroDAO dao = new GeneroDAO();
List lista = dao.getListaTodos();
for(int i=0;i<lista.size();i++){
Genero g = (Genero)lista.get(i);
cBGenero.addItem(g.getDescricao());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
lembrando que tem que fazer os imports
qualquer duvida posta ai