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"));
}
}
}
