1
resposta

Insert no banco de uma combobox

Boa tarde pessoal,

Estou com dificuldades em fazer um insert na tabela cliente, onde contem algumas chaves estrangeiras que vem do combobox.

metodo que adiciona o cliente.

public void adiciona(Cliente cliente ) {
        //System.out.println("Metodo adiciona");
        // Popula tabela Cliente
        String sql = "insert into cliente"
                + " (nome, cpf, DATA_NASCIMENTO, endereco, cep, uf, cidade, email, celular, telefone,idvalores)"
                + " values (?,?,?,?,?,?,?,?,?,?,LAST_INSERT_ID())";
        PreparedStatement stmt;
        try {
            stmt = connection.prepareStatement(sql);        
            stmt.setString(1, cliente.getNome());
            stmt.setString(2, cliente.getCpf());
            stmt.setDate(3, new Date(cliente.getDATA_NASCIMENTO().getTime()));
            stmt.setString(4, cliente.getEndereco());
            stmt.setString(5, cliente.getCep());
            stmt.setString(6, cliente.getUf());
            stmt.setString(7, cliente.getCidade());
            stmt.setString(8, cliente.getEmail());
            stmt.setString(9, cliente.getCelular());
            stmt.setString(10, cliente.getTelefone());
            //System.out.println(stmt);
            stmt.execute();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

Neste ponto preciso adaptar o insert para pegar os id's dos combo's que esta assim: cada tabela esta configurada com o ID e o tipo do dado.

<label for="banco">Banco:</label>
    <select id="banco">
        <option> Selecione um Banco
            <c:forEach items="${bancos}" var="banco">
                <option value="${banco.idBanco}">${banco.nome_Banco}</option> 
            </c:forEach>
        </option>
    </select>

<br/>

<br/>

    <label for="StatusBanco">Status Comissao:</label>
    <select id="status">
        <option> Selecione um Status
            <c:forEach items="${status_comissao}" var="status">
                <option value="${status.idComissao}">${status.tipoComissao}</option> 
            </c:forEach>
        </option>
    </select>

podem me ajudar com esse problema ? Obrigado !

1 resposta

No caso, você deve passar para o seu método "adiciona" ou mais duas propriedades: banco e status, que guardam os valores dos id's escolhidos ou então você deve setar como propriedades de do objeto Cliente.