Como salvar um item de um JcomboBox que vem do banco de dados[RESOLVIDO]

Olá pessoal venho pedir a ajuda de vc’s para ver como faz para salvar um item de um JcomboBox e esse item vem do banco de dados, por favor me ajudem.

meu professor fez dessa forma, mas ele disse que não é a forma mais correta
int codigo = Integer.parseInt(subString(cbC.getSelectedItem(), 1, 4).replace(" ", "").replace("-", ""));

Por favor me indiquem uma forma melhor de fazer isso.

Salvar algo que vem do banco de dados?
Faça uma query de insert…

É possivel deixar um List que armazena os ID’s e preencha os combos com os itens, ae para pegar o ID de determinada seleção faça o seguinte código:

int codigo = listaID.get(jComboBox.getSelectedIndex());

Se precisar de detalhes chama no skype indicado no meu perfil

Mas amigo quando eu chamo o id eu também chamo o nome daquele campo, só quando eu salvo ele dá um erro Java.lang.NullPointerException

Eu o chamo dessa forma:
`resultados.add(rs.getString(“codigo_filme”+ " -" + rs.getString(“titulo”);

e Para salvar eu faço dessa maneira

int codigo = Integer.parseInt(substring(cbC.getSelectedItem(), 1, 4).replace(" ", "").replace("-", "")

Mas ele chama também o titulo e com isso ele não salva e me dá erro de java.lang.NullPOinterException

Entendi, eu super recomendo vc crie uma classe do tipo Filme, com os campos ID e TITULO, ou qualquer outro campo que possua, assim vc cria um ArrayList<Filmes> (Uma lista de filmes), isso não mistura o ID, nem o titulo. Isso é Java e deve ser implementado orientado a objetos.
porem se vc quer mesmo utilizar essa forma de seleção acredito que assim se resolva:

String selecao = cbC.getSelectedItem().toString;
String[] campos = selecao.replace(" ","").split("-"); // suponho que esteja separado por -
System.out.println(campos[0]); // deve pegar o código
System.out.println(campos[1]); // deve pegar o titulo

Mas para salvar no banco como eu faria

Transforma o campo[0] em int e faça o insert normalmente. Se vc não usa um framework como o hibernate neste sistema, suponho que vc n possua as classes de Entidades, por isso o insert será normal:

int codigo = Integer.parseInt(campos[0]);
PreparedStatement pr = new PreparedStatement(insert into filmes values ((select max(id_filmes) from filmes)+1, ?,?));
pr.setInt(0,codigo);
pr.setString("nome filme");

Odeio PreparedStatement

Obrigado, sua solução me ajudou muito, Deus lhe abençoe.

1 curtida