Salvando dados da venda do netbeans no mysql

Boa tarde Pessoal, o problema é o seguinte: estou montando um sistema para uma “lanchonete” usando o netbeans + mysql, a conexão funciona perfeitamente, os cadastros de usuarios, clientes, produtos, todos funcionam, mas quando dou o comando para salvar a venda (utilizo duas tabelas no mysql, uma principal e uma secundaria) o codigo do pedido,o total da venda e os demais codigos são salvos perfeitamente na tabela principal, mas na secundaria os dados aparecem repeditos, seguem os dados do netbeans:

private void btn_cadastrarActionPerformed(java.awt.event.ActionEvent evt) {
populaBeans();
for(int i =0; i < tb_pedido.getRowCount(); i ++){
PedidoC.controledePedido(txt_cod_cliente.getText(), CodigoFuncionario + “”, txt_totalPedido.getText(), tb_pedido.getRowCount(), tb_pedido.getValueAt(i, 1)+"", PedidoB);
}

}

public void cadastrarPedido(String CodigoCliente, String CodigoFuncionario, String Total, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
Date Data = new Date();
SimpleDateFormat formatoData = new SimpleDateFormat(“yyyy-MM-dd”);
SimpleDateFormat formatoHora = new SimpleDateFormat(“HH:mm:ss”);
String SQLInsert = “insert into pedido (ped_data, ped_hora, ped_fun_codigo, ped_total, ped_cli_codigo, ped_status) values (?, ?, ?, ?, ?, ?)”;
try{

    PreparedStatement st = Conexao.getConnection().prepareStatement(SQLInsert);
    
        st.setString(1,formatoData.format(Data));
        st.setString(2, formatoHora.format(Data));
        st.setString(3, CodigoFuncionario);
        st.setString(4, Total.replace(',','.'));
        st.setString(5, CodigoCliente);
        st.setString(6, "Pedido Aberto");
        
        st.execute();
        
        CadastrarItens(CodigoCliente, CodigoFuncionario, CodigoDoPedido(), TamanhoTabela, Produto, PedidoB);
        CodigoDoPedido();
        Conexao.getConnection().commit();
        JOptionPane.showMessageDialog(null, "Pedido cadastrado com sucesso", "Sucesso", 1, new ImageIcon("imagens/ok.png"));
    }catch(SQLException ex){
        JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
    }
    
}

public String CodigoDoPedido(){
    String Cod = "0";
    
    try {
        String SQLSelection = "select ped_codigo from pedido order by ped_codigo desc limit 1";
        PreparedStatement st = Conexao.getConnection().prepareStatement(SQLSelection);
        ResultSet rs = st.executeQuery();
        if(rs.next()){
            Cod = rs.getString("ped_codigo");
        }
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
    }
    return Cod;
}

public void CadastrarItens(String CodigoCliente, String CodigoFuncionario, String CodigoPedido, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
    for(int i = 0;  i < TamanhoTabela; i++){
        try {
            String SQLInsert = "insert into item (item_fun_codigo, item_cli_codigo, item_ped_codigo, item_car_codigo, item_quantidade, item_descricao) values (?,?,?,?,?,?)";
            PreparedStatement st;
            st = Conexao.getConnection().prepareStatement(SQLInsert);
            st.setString(1, CodigoFuncionario);
            st.setString(2, CodigoCliente);
            st.setString(3, CodigoPedido);
            st.setInt(4, PedidoB.getCodCardapio(i));
            st.setInt(5, PedidoB.getQuantidade(i));
            st.setString(6, Produto);
                          
            st.execute();
                           
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
    }
    
}

Achei que netbeans era apenas uma IDE. Como faz para programar em netbeans?

Por que não usa a tag adequada para códigos e deixa ele mais visível? Seleciona o trecho de código e clica no </> em cima do editor de texto.

Como repetidos?

sou novato em tudo aqui darlan, mas vamos lá:

por exemplo, faço uma venda de 01 coca a $ 5,00 e um salgado a $5,00, e o registro da venda é “01”.

na tabela de pedido do mysql ele salva o código do pedido, o codigo de cliente e o total da venda, até aqui tudo bem, já na tabela de item, onde deve aparecer a descrição da venda juntamente com o codigo aparece duas linhas repetidas informando apenas os dados referentes a coca, e o salgado não, vou tentar postar um print

private void btn_cadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                              
        populaBeans();
       
      
        for(int i =0; i < tb_pedido.getRowCount(); i ++){
            PedidoC.controledePedido(txt_cod_cliente.getText(), CodigoFuncionario + "", txt_totalPedido.getText(), tb_pedido.getRowCount(), tb_pedido.getValueAt(i, 1)+"", PedidoB); 
            break;
        }
        
         
    }

public void cadastrarPedido(String CodigoCliente, String CodigoFuncionario, String Total, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        Date Data = new Date();
        SimpleDateFormat formatoData = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat formatoHora = new SimpleDateFormat("HH:mm:ss");
        String SQLInsert = "insert into pedido (ped_data, ped_hora, ped_fun_codigo, ped_total, ped_cli_codigo, ped_status) values (?, ?, ?, ?, ?, ?)";
        try{
        
        PreparedStatement st = Conexao.getConnection().prepareStatement(SQLInsert);
        
            st.setString(1,formatoData.format(Data));
            st.setString(2, formatoHora.format(Data));
            st.setString(3, CodigoFuncionario);
            st.setString(4, Total.replace(',','.'));
            st.setString(5, CodigoCliente);
            st.setString(6, "Pedido Aberto");
            
            st.execute();
            
            CadastrarItens(CodigoCliente, CodigoFuncionario, CodigoDoPedido(), TamanhoTabela, Produto, PedidoB);
            CodigoDoPedido();
            Conexao.getConnection().commit();
            JOptionPane.showMessageDialog(null, "Pedido cadastrado com sucesso", "Sucesso", 1, new ImageIcon("imagens/ok.png"));
        }catch(SQLException ex){
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        
    }
    
    public String CodigoDoPedido(){
        String Cod = "0";
        
        try {
            String SQLSelection = "select ped_codigo from pedido order by ped_codigo desc limit 1";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLSelection);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                Cod = rs.getString("ped_codigo");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return Cod;
    }
    
    public void CadastrarItens(String CodigoCliente, String CodigoFuncionario, String CodigoPedido, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        for(int i = 0;  i < TamanhoTabela; i++){
            try {
                String SQLInsert = "insert into item (item_fun_codigo, item_cli_codigo, item_ped_codigo, item_car_codigo, item_quantidade, item_descricao) values (?,?,?,?,?,?)";
                PreparedStatement st;
                st = Conexao.getConnection().prepareStatement(SQLInsert);
                st.setString(1, CodigoFuncionario);
                st.setString(2, CodigoCliente);
                st.setString(3, CodigoPedido);
                st.setInt(4, PedidoB.getCodCardapio(i));
                st.setInt(5, PedidoB.getQuantidade(i));
                st.setString(6, Produto);
                              
                st.execute();
                               
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            }
        }
        
    }

Isso não significa muito, afinal, você tem as ferramentas em mãos.
A questão é que o netbeans é uma IDE e não a linguagem, provavelmente você esteja fazendo java + mysql, certo?

PedidoC é uma classe com métodos estáticos?

isso java + mysql, segue o metodo do em questão do PedidoC (PedidoC refere a classe PedidoController

public void controledePedido(String CodigoCliente, String CodigoFuncionario, String Total, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        PedidoD.cadastrarPedido(CodigoCliente, CodigoFuncionario, Total, TamanhoTabela, Produto, PedidoB);
        
    }

olha o pedido 173/174/175 por exemplo, eles repetem o mesmo item, sendo que cada pedido tem dois itens distintos

Cara, por que você tem isso em teu código? PedidoC e PedidoD são classes com métodos estáticos ou são objetos? Qual é a classe que persiste?

então eu comprei um curso de um cara, pois sou totalmente leigo no assunto e na minha cidade não tem nenhum programador, e ele ensina com essas três classes (Beans, DAO e Controller) mais a GUI referente as telas. Beans instancia os dados do banco de Dados, a DAO cria os métodos para inserção e pesquisa junto ao BD, Controller puxa os metodos do DAO para os comando da GUI. acredito que são classes estaticas

    private void btn_cadastrarActionPerformed(java.awt.event.ActionEvent evt) { 
populaBeans(); 
for(int i =0; i &lt; tb_pedido.getRowCount(); i ++){ PedidoC.controledePedido(txt_cod_cliente.getText(), CodigoFuncionario + "", txt_totalPedido.getText(), tb_pedido.getRowCount(), tb_pedido.getValueAt(i, 1)+"", PedidoB); break; 
    } 
    }

esse é o botão cadastrar que esta na GUI de vendas

Mas quem falou em botão???

Eu pedi a classe que faz a persistência dos dados no banco de dados.

public void cadastrarPedido(String CodigoCliente, String CodigoFuncionario, String Total, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        Date Data = new Date();
        SimpleDateFormat formatoData = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat formatoHora = new SimpleDateFormat("HH:mm:ss");
        String SQLInsert = "insert into pedido (ped_data, ped_hora, ped_fun_codigo, ped_total, ped_cli_codigo, ped_status) values (?, ?, ?, ?, ?, ?)";
        try{
        
        PreparedStatement st = Conexao.getConnection().prepareStatement(SQLInsert);
        
            st.setString(1,formatoData.format(Data));
            st.setString(2, formatoHora.format(Data));
            st.setString(3, CodigoFuncionario);
            st.setString(4, Total.replace(',','.'));
            st.setString(5, CodigoCliente);
            st.setString(6, "Pedido Aberto");
            
            st.execute();
            
            CadastrarItens(CodigoCliente, CodigoFuncionario, CodigoDoPedido(), TamanhoTabela, Produto, PedidoB);
            CodigoDoPedido();
            Conexao.getConnection().commit();
            JOptionPane.showMessageDialog(null, "Pedido cadastrado com sucesso", "Sucesso", 1, new ImageIcon("imagens/ok.png"));
        }catch(SQLException ex){
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        
    }
    
    public String CodigoDoPedido(){
        String Cod = "0";
        
        try {
            String SQLSelection = "select ped_codigo from pedido order by ped_codigo desc limit 1";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLSelection);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                Cod = rs.getString("ped_codigo");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return Cod;
    }
    
    public void CadastrarItens(String CodigoCliente, String CodigoFuncionario, String CodigoPedido, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        for(int i = 0;  i < TamanhoTabela; i++){
            try {
                String SQLInsert = "insert into item (item_fun_codigo, item_cli_codigo, item_ped_codigo, item_car_codigo, item_quantidade, item_descricao) values (?,?,?,?,?,?)";
                PreparedStatement st;
                st = Conexao.getConnection().prepareStatement(SQLInsert);
                st.setString(1, CodigoFuncionario);
                st.setString(2, CodigoCliente);
                st.setString(3, CodigoPedido);
                st.setInt(4, PedidoB.getCodCardapio(i));
                st.setInt(5, PedidoB.getQuantidade(i));
                st.setString(6, Produto);
                              
                st.execute();
                               
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            }
        }
        
    }

isso que manda para o BD, fica dentro da classe DAO

public class PedidoDAO {
    
    public void pesquisadeItens(String Pesquisa, List<String>ListadeItens){
        
        try {
            String SQLPesquisa = "select * from cardapio where car_descricao like '%" + Pesquisa + "%'";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLPesquisa);
            ResultSet rs = st.executeQuery();
            while(rs.next()){
                ListadeItens.add(rs.getString("car_descricao"));
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao pesquisar produto", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
    }
    
    public double valorDoItem(String Pesquisa){
        try {
            String SQLPesquisa = "select * from cardapio where car_descricao = ?";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLPesquisa);
            st.setString(1, Pesquisa);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                return rs.getDouble("car_valor");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao pesquisar preço do produto", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return 0;
    }
    
    public int valorDoCodigo(String Pesquisa){
        try {
            String SQLPesquisa = "select * from cardapio where car_descricao = ?";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLPesquisa);
            st.setString(1, Pesquisa);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                return rs.getInt("car_codigo");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao pesquisar codigo do produto", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return 0;
    }
    
    public String proximoPedido(){
        
        try {
            String SQLSelection = "select * from pedido order by ped_codigo desc limit 1";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLSelection);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                return (Integer.parseInt(rs.getString("ped_codigo")) + 1) + "";
            }else{
                return "1";
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao buscar produto", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return "0";
    }
    
    public void cadastrarPedido(String CodigoCliente, String CodigoFuncionario, String Total, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        Date Data = new Date();
        SimpleDateFormat formatoData = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat formatoHora = new SimpleDateFormat("HH:mm:ss");
        String SQLInsert = "insert into pedido (ped_data, ped_hora, ped_fun_codigo, ped_total, ped_cli_codigo, ped_status) values (?, ?, ?, ?, ?, ?)";
        try{
        
        PreparedStatement st = Conexao.getConnection().prepareStatement(SQLInsert);
        
            st.setString(1,formatoData.format(Data));
            st.setString(2, formatoHora.format(Data));
            st.setString(3, CodigoFuncionario);
            st.setString(4, Total.replace(',','.'));
            st.setString(5, CodigoCliente);
            st.setString(6, "Pedido Aberto");
            
            st.execute();
            
            CadastrarItens(CodigoCliente, CodigoFuncionario, CodigoDoPedido(), TamanhoTabela, Produto, PedidoB);
            CodigoDoPedido();
            Conexao.getConnection().commit();
            JOptionPane.showMessageDialog(null, "Pedido cadastrado com sucesso", "Sucesso", 1, new ImageIcon("imagens/ok.png"));
        }catch(SQLException ex){
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        
    }
    
    public String CodigoDoPedido(){
        String Cod = "0";
        
        try {
            String SQLSelection = "select ped_codigo from pedido order by ped_codigo desc limit 1";
            PreparedStatement st = Conexao.getConnection().prepareStatement(SQLSelection);
            ResultSet rs = st.executeQuery();
            if(rs.next()){
                Cod = rs.getString("ped_codigo");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
        }
        return Cod;
    }
    
    public void CadastrarItens(String CodigoCliente, String CodigoFuncionario, String CodigoPedido, int TamanhoTabela, String Produto, PedidoBeans PedidoB){
        for(int i = 0;  i < TamanhoTabela; i++){
            try {
                String SQLInsert = "insert into item (item_fun_codigo, item_cli_codigo, item_ped_codigo, item_car_codigo, item_quantidade, item_descricao) values (?,?,?,?,?,?)";
                PreparedStatement st;
                st = Conexao.getConnection().prepareStatement(SQLInsert);
                st.setString(1, CodigoFuncionario);
                st.setString(2, CodigoCliente);
                st.setString(3, CodigoPedido);
                st.setInt(4, PedidoB.getCodCardapio(i));
                st.setInt(5, PedidoB.getQuantidade(i));
                st.setString(6, Produto);
                              
                st.execute();
                               
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex, "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            //JOptionPane.showMessageDialog(null, "Erro ao salvar pedido", "Erro", 0, new ImageIcon("imagens/btn_sair.png"));
            }
        }
        
    }

essa é classe DAO completa