legal
vc é gente boa o seguinte deu eu explicar tenho um trabalho classico para fazer de uma video locadora o seguinte a parte dos cadastro unitarios ate agora ta legal ja fiz que é cadastro de fornecedor, cliente, ator e diretor, agora estou com o problema no cadastro de midia onde uma midia deve ter um fornecedor e varios atores e diretores esse combo que estou precisando é para setar o fornecedor e os diretores e os atores, o fornecedor como é unico eu fiz um combo onde ele vem todos os fornecedores ele seleciona e inseri isso na foreing key do fornecedor os do atores e diretores eu nem comecei ainda kkkkkk
olha meu codigo so midia não esta completo ainda
metodo de inserção da midia
public boolean inserirMidia(Midia bean) {
boolean ret = false;
try {
String sql = ("INSERT INTO midia (titulo, genero, tipo, sinopse, quantidade, status, fornecedor_codigo_FK) "
+ "VALUES ( ?,?,?,?,?,?,?,?,?,?,?,? ) ");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bean.getTitulo());
pstmt.setString(2, bean.getGenero());
pstmt.setString(3, bean.getTipo());
pstmt.setString(4, bean.getSinopse());
pstmt.setInt(5, bean.getQuantidade());
pstmt.setString(6, bean.getStatus());
pstmt.setObject(7, bean.getFornecedor());
int rs = pstmt.executeUpdate();
if (rs > 0) {
ret = true;
}
} catch (SQLException e) {
System.out.println("Erro ao gravar registro no Banco de Dados:\n" + e.getMessage());
ret = false;
} finally {
//fecha a conexao com o banco
conecta.close();
}
return ret;
}
por isso estava precisando do combo para inserir no atributo do forncedor
busca
public Midia buscarMidia(Integer cod) {
try {
String sql = "select * from midia where codigo = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, cod.intValue());
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
bean.setCodigo(rs.getInt("codigo"));
bean.setTitulo(rs.getString("titulo"));
bean.setGenero(rs.getString("genero"));
bean.setTipo(rs.getString("tipo"));
bean.setSinopse(rs.getString("sinopse"));
bean.setAno(rs.getString("ano"));
bean.setQuantidade(rs.getInt("quantidade"));
bean.setStatus(rs.getString("status"));
}
} catch (SQLException e) {
System.out.println("Erro ao gravar registro no Banco de Dados:\n" + e.getMessage());
} finally {
//fecha a conexao com o banco
conecta.close();
}
return bean;
agora os codigo que carregam os dados dos atores e diretores e fornecedores
public ArrayList<Ator> carregarAtor() {
ArrayList<Ator> lista = new ArrayList<Ator>();
try {
String sql = "select * from ator ";
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Ator prod = new Ator();
prod.setCodigo(rs.getInt("codigo"));
prod.setNome(rs.getString("nome"));
lista.add(prod);
}
pstmt.close();
} catch (Exception e) {
System.out.println("Erro no Banco de Dados");
}
return lista;
}
public ArrayList<Diretor> carregarDiretor() {
ArrayList<Diretor> lista = new ArrayList<Diretor>();
try {
String sql = "select * from diretor ";
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Diretor prod = new Diretor();
prod.setCodigo(rs.getInt("codigo"));
prod.setNome(rs.getString("nome"));
lista.add(prod);
}
pstmt.close();
} catch (Exception e) {
System.out.println("Erro no Banco de Dados");
}
return lista;
}
public ArrayList<Fornecedor> carregarFornecedor() {
ArrayList<Fornecedor> lista = new ArrayList<Fornecedor>();
try {
String sql = "select * from fornecedor ";
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Fornecedor prod = new Fornecedor();
prod.setCodigo(rs.getInt("codigo"));
prod.setNome(rs.getString("nome"));
prod.setNomeFantasia(rs.getString("nome_fantasia"));
prod.setEndereco(rs.getString("endereco"));
prod.setNumero(rs.getInt("numero"));
prod.setBairro(rs.getString("bairro"));
prod.setCep(rs.getString("cep"));
prod.setCidade(rs.getString("cidade"));
prod.setEstado(rs.getString("estado"));
prod.setFone(rs.getString("fone"));
prod.setFax(rs.getString("fax"));
prod.setEmail(rs.getString("email"));
prod.setCnpj(rs.getString("cnpj"));
lista.add(prod);
}
pstmt.close();
} catch (Exception e) {
System.out.println("Erro no Banco de Dados");
}
return lista;
}
ainda não testei sua ultima resposta pois estou no trabalho,
metodos de carregar no combos
public void CarregarFornecedores() {
jcFornecedorMidia.addItem("Selecione ..");
CRUD_Midia midia = new CRUD_Midia();
for (int i = 0; i < midia.carregarFornecedor().size(); i++) {
jcFornecedorMidia.addItem(midia.carregarFornecedor().get(i));
}
}
public void CarregarDiretores() {
jcDiretorMidia.addItem("Selecione ..");
CRUD_Midia midia = new CRUD_Midia();
for (int i = 0; i < midia.carregarDiretor().size(); i++) {
jcDiretorMidia.addItem(midia.carregarDiretor().get(i));
}
}
public void CarregarAtores() {
jcAtorMidia.setModel(comboator);
comboator.addElement("Selecione ..");
CRUD_Midia midia = new CRUD_Midia();
for (int i = 0; i < midia.carregarAtor().size(); i++) {
jcAtorMidia.addItem(midia.carregarAtor().get(i));
}
}
metodo de inserir salvar a midia
CRUD_Midia crud = new CRUD_Midia();
Midia bean = new Midia();
String mensagem = null;
mensagem = ValidarCampos(bean);
Fornecedor forn = new Fornecedor ();
forn = (Fornecedor ) jcAtorMidia.getSelectedItem();
bean.setCodigo(forn.getCodigo);
if (mensagem.equals("")) {
crud.inserirMidia(bean);
JOptionPane.showMessageDialog(this, "Arquivo salvo com sucesso!!!", "Arquivo Salvo", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "O(s) Campo(s)" + mensagem + " �/São Inválido(s)", "Erro", JOptionPane.ERROR_MESSAGE);
}
esse é o que estou trabalhando
Obs empaquei ai e esta faltando bastante coisa
quero tambem perguntar uma coisa depois do fornecedor quero inserir uma lista de atores e diretores e estou usandoo componente jList para preencher fiz o mesmo esquema do fornecedor minha duvida é na hora de jogar isso para gravar na classe associativa tambem, mas vou me focar em partes
hum a bean tambem da uma olhada
public class Midia implements java.io.Serializable {
private int codigo;
private Fornecedor fornecedor;
private String titulo;
private String genero;
private String tipo;
private String sinopse;
private String ano;
private Integer quantidade;
private String status;
private Set diretors = new HashSet(0);
private Set ators = new HashSet(0);
private Set locacaoMidias = new HashSet(0);
os gets e sets não coloquei não