Dúvida ao fazer um insert em tabela banco de dados

Galera, tenho uma dúvida e espero que alguém possa me ajudar.
Tenho as seguintes tabelas no meu banco: venda, itens venda, orçamento e itens orçamento.
Conforme eu vou adicionando produtos na jtable de produtos, o algorítimo já insere os produtos na tabela itens venda no banco e já vai dando baixo no estoque na tabela produto. O frame de orçamento é praticamente igual ao de venda, no entanto, a baixa no estoque não é feita e ao término do mesmo, é inserido no banco o status de “pendente”.
Eu fiz o seguinte, na pesquisa de orçamento, ao selecionar um orçamento um botão é habilitado e tenho a opção de negar ou autorizar o orçamento, com isso muda o status do orçamento no banco.
Se o status for negado ele apenas altera o status, mas se for autorizado o Frame de venda é aberto com os campos já preenchidos. Quero fazer isso para o usuário não tem que digitar tudo de novo na hora de fazer a venda, ou seja, já vir tudo preenchido e apenas conferir e clicar em finalizar para finalizar a venda.
Fiz o que citei acima, mas o que quero fazer e não estou conseguindo é o seguinte: Quero que ao iniciar esse frame de venda seja feito a baixa do estoque dos produtos com base nos itens da tabela itens orçamento. Por enquanto eu fiz o seguinte:
Eu tenho as classes de Modelo e Controle que cuidam das transações com o banco, mas fiz o que está abaixo no frame de visão do “consulta orçamento”.
O cod que está no final da instrução sql é passado como parâmetro ao mudar o status do orçamento selecionado.
O try/catch faz a inclusão do valor 0 na tabela de venda, mas o outro try/catch não faz nada. = (

Alguém poderia me ajudar a fazer o insert corretamente? Desde já agradeço.

mod.setOrcStatus((String) jComboStatus.getSelectedItem());
mod.setCodOrcamento(cod);

    con.conexao();

    if (jComboStatus.getSelectedItem().equals("AUTORIZADO")) {
        control.alteraOrcamento(mod);

        try {

            PreparedStatement pst = con.fazcon.prepareStatement("insert into venda (venda_vlr)values(?)");
            pst.setFloat(1, 0);
            pst.execute();
            con.executaSQL("select * from venda order by venda_codigo");
            con.rs.last();
            codVenda = con.rs.getInt("venda_codigo");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(rootPane, "Erro:" + ex);
        }

        con.executaSQL("select *from orcamento inner join itens_orcamento_produto on orcamento.orc_codigo = itens_orcamento_produto.orc_codigo inner join produto\n"
                + "on itens_orcamento_produto.prod_codigo = produto.prod_codigo where orcamento.orc_codigo =" + cod);

        try {
            con.rs.first();

            while (con.rs.next()) {
                quantidadeProduto = con.rs.getInt("quantidade_produto");
                codigoProduto = con.rs.getInt("prod_codigo");

                con.executaSQL("select * from produto where prod_codigo=" + codigoProduto);
                int qtdeProduto = con.rs.getInt("prod_quantidade");

                if (qtdeProduto >= quantidadeProduto) {

                    PreparedStatement pst = con.fazcon.prepareStatement("insert into itens_venda_produto(venda_codigo,prod_codigo,quantidade_produto)values(?,?,?)");
                    pst.setInt(1, codVenda);
                    pst.setInt(2, codigoProduto);
                    pst.setInt(3, quantidadeProduto);
                    pst.execute();
                    //Baixa de estoque
                    int quant = 0, resul = 0;
                    con.executaSQL("select *from produto where prod_codigo ='" + codigoProduto + "'");
                    con.rs.first();
                    quant = con.rs.getInt("prod_quantidade");
                    resul = quant - quantidadeProduto;
                    pst = con.fazcon.prepareStatement("update produto set prod_quantidade=? where prod_codigo=?");
                    pst.setInt(1, resul);
                    pst.setInt(2, codigoProduto);
                    pst.execute();

                } else {
                    JOptionPane.showMessageDialog(null, "Estoque insuficiente");
                }

            }
        } catch (SQLException ex) {
            //con.desconecta();
            JOptionPane.showMessageDialog(null, "Erro ao adicionar produto!" + ex);
        }

_**

Cara, dar uma olhada nesse link e ver se tem alguma coisa aqui pra você

**_!!
-> ( Como da um insert into em java, depois que cria a conexão? )