Criei uma combo que retorna do banco o id e a descrição
ou seja; 2 - mecanica
3 - eletrica
precisavar salvar no banco o codigo e a descrição do servico, que sera selecionado pelo usuario.
DAO:
public boolean inserir(DomainObject domainObject) {
Ocorrencia ocorrencia = (Ocorrencia) domainObject;
try {
Connection conn = Conexao.getConnection();
//Obtendo a conexão com o BD
//Criando a string com sql a ser executada
String sql = "INSERT INTO ocorrencia VALUES (?,?,?,?,?,?,?)";
//Tratando a sql a ser executada
PreparedStatement pst = conn.prepareStatement(sql);
//Definindo o primeiro parâmetro
pst.setInt(1, ocorrencia.getIDOcorrencia());
pst.setString(2, ocorrencia.getDescricao());
// pst.setString(3,ocorrencia.getVeiculo().getDescricao());
//Definindo o segundo parâmetro
pst.setString(3, ocorrencia.getData());
// pst.setString(5,Servicos.getDescricaoServ());
pst.setString(4, ocorrencia.getVeiculo().getPlaca());
pst.setString(5, ocorrencia.getCliente().getNomecli());
pst.setString(6,ocorrencia.getVeiculo().getNomeVeiculo());
// aki o codigo eh o que esta na combo
pst.setInt(7,ocorrencia.getServicos().getCodigoServico());
// a descricao da combo
pst.setString(8, ocorrencia.getServicos().getDescricaoServico());
pst.executeUpdate();
pst.close();
//Fechando a conexão
conn.close();
} catch (Exception e) {
return false;
}
return true;
meu combo
public List Combo() {
List<Ocorrencia> strList = new ArrayList<Ocorrencia>();
try{
Connection conn = Conexao.getConnection();
String sql = null;
// sql = "select descricao,data_ocorrencia,servico,placa,nomecliente,nomeveiculo from ocorrencia where idocorrencia=? ";
sql = "select idservico,nomeservico from tiposervico ";
//select nomeservico from tiposervico inner join ocorrencia on tiposervico.idservico=ocorrencia.idservico
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while(rs.next()){
Ocorrencia ocorrencia = new Ocorrencia();
Servicos servico = new Servicos();
servico.setCodigoServico(rs.getInt("idservico"));
servico.setNomeServico(rs.getString("nomeservico"));
ocorrencia.setServicos(servico);
strList.add(ocorrencia);
}
pst.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
}
return strList;}
visão
ublic class RegistroOcorrencia extends javax.swing.JFrame {
public RegistroOcorrencia() {
initComponents();
DaoOcorrencia dao = new DaoOcorrencia();
jComboBox1.removeAllItems();
List<Ocorrencia> listacombo = dao.Combo();
int tam = listacombo.size();
for(Ocorrencia oco : listacombo){
jComboBox1.addItem(oco.getServicos().getCodigoServico()+" "
+oco.getServicos().getNomeServico());
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Ocorrencia ocorrencia = new Ocorrencia();
Clientee cliente = new Clientee();
ocorrencia.setCliente(cliente);
Servicos servicos = new Servicos();
ocorrencia.setServicos(servicos);
Veiculo veiculo = new Veiculo();
ocorrencia.setVeiculo(veiculo);
ocorrencia.setIDOcorrencia(Integer.parseInt(tfcodigo.getText()));
ocorrencia.setDescricao(tfdescricaoocorrencia.getText());
ocorrencia.setData(tfdata.getText());
// aki em vez de inserir pelo textfield era para pegar da combo
ocorrencia.getServicos().setCodigoServico(Integer.parseInt(tftipodeservico.getText()));
ocorrencia.getVeiculo().setPlaca(tfplaca.getText());
ocorrencia.getCliente().setNomecli(tfcliente.getText());
ocorrencia.getVeiculo().setNomeVeiculo(tfveiculo.getText());
IFachada fachadaoco = (IFachada) new FachadaOcorrencia();
FachadaOcorrencia ocorre = new FachadaOcorrencia();
try{
fachadaoco.inserir(ocorrencia);