Java com BD mysql - problema delete

4 respostas
Pedro_Torman

Boa tarde!
Estou enfrentando um problema com delete na minha aplicação, bom estou utilizando o Statement para enviar os comandos para o banco. Inclusive tudo na aplicação esta funcionando beleza… com update insert e delete, só essa situação que enta entrando no catch…

Seguinte tenho uma Jtable(orcamento) com lista de pedidos, quando clico no editar ela preenche os campos automaticamente com os respectivos valores, e tambem chama outra tablea com carrinho de compras que é exibida normalmente e até ai tudo beleza, consigo alterar os dados da tabela orcamento e até porem não consegue eliminar itens do carrinho pois entra na Exception…

botao confirmar edição:

    JButton btnConfimaEdicao = new JButton("");
    		btnConfimaEdicao.setToolTipText("Confirmar edi\u00E7\u00E3o");
    		btnConfimaEdicao.setEnabled(false);
    		btnConfimaEdicao.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				orcamento_obj.setStatus("Orçamento");
    				orcamento_obj.setTipo((String) comboBoxTipo.getSelectedItem());
    				orcamento_obj.setCliente((String) comboBoxCli.getSelectedItem());
    				orcamento_obj.setDt_Orc(DT_Orca.getText());
    				orcamento_obj.setVL_Obra(Double.parseDouble(CalcObra.getText().replaceAll(",", ".")));
    				orcamento_obj.setVL_produtos(Double.parseDouble(CalcProd.getText().replaceAll(",", ".")));
    				orcamento_obj.setVL_Total(Double.parseDouble(CalcOrca.getText().replaceAll(",", ".")));
    				orcamento_obj.setCodigo(codigoOrcamento);
    				control_orcamento.UpdateOrcamento(carrinhoEdit, orcamento_obj.getStatus(), orcamento_obj.getTipo(),orcamento_obj.getCliente(), orcamento_obj.getDt_Orc(), orcamento_obj.getVL_Obra(),					orcamento_obj.getVL_produtos(), orcamento_obj.getVL_Total(), orcamento_obj.getCodigo());
                                // atualiza o orçamento OK
                               // metodo para atualizar a tabela de carrinho, nesse caso elimina todos os itens do bd com codigo igual a "carrinhoEdit" e adiciona a nova tabela com os novos valeres com o codigo do carrinho
    				Update_carrinho(carrinhoEdit);
    				btnConfimaEdicao.setEnabled(false);

    			}
    		});


Método que faz a atualização do carrinho:
public static void Update_carrinho(int carrinhoEdit) {
		try {
			conexao connect = new conexao();
			Connection ExConn = (Connection) connect.abrirBDConn();
			Statement stmt = (Statement) ExConn.createStatement();
			String queryDell = "DELETE FROM cer.carrinho WHERE Codigo='"+carrinhoEdit+"';";
                        //Se for alterado por Select *From cer.carrinho WHERE Codigo='"+carrinhoEdit+"'; funciona beleza!!!!!!!!!!!!!!!!!!!!!
			boolean rsD = stmt.execute(queryDell);
			System.out.println(queryDell);
			// adiciona 1 ao ultimo carrinho registrdo
			// CarrinhoCod += 1;
			for (int linha = 0; linha < tableCarrinho.getRowCount(); linha++) {
				String modelo = (String) tableCarrinho.getModel().getValueAt(linha, 0).toString();
				String categoria = (String) tableCarrinho.getModel().getValueAt(linha, 1).toString();
				String qtd = (String) tableCarrinho.getModel().getValueAt(linha, 2).toString();
				String unitario = (String) tableCarrinho.getModel().getValueAt(linha, 3).toString();
				String frete = (String) tableCarrinho.getModel().getValueAt(linha, 4).toString();
				String maodeobra = (String) tableCarrinho.getModel().getValueAt(linha, 5).toString();
				String total = (String) tableCarrinho.getModel().getValueAt(linha, 6).toString();
				carrinho_obj.setModelo(modelo);
				carrinho_obj.setCategoria(categoria);
				carrinho_obj.setQtd(qtd.replaceAll(",", "."));
				carrinho_obj.setUnitario(unitario.replaceAll(",", "."));
				carrinho_obj.setFrete(frete.replaceAll(",", "."));
				carrinho_obj.setMaodeobra(maodeobra.replaceAll(",", "."));
				carrinho_obj.setTotal(total.replaceAll(",", "."));
				contCarrinho += 1;
				System.out.println("\n");
				System.out.println(modelo);
				System.out.println("\n");
				System.out.println(contCarrinho);
				modelo = carrinho_obj.getModelo();
				categoria = carrinho_obj.getCategoria();
				qtd = carrinho_obj.getQtd();
				unitario = carrinho_obj.getUnitario();
				frete = carrinho_obj.getFrete();
				maodeobra = carrinho_obj.getMaodeobra();
				total = carrinho_obj.getTotal();
				orcamento_control.InsereCarrinho((carrinhoEdit), modelo, categoria, qtd, unitario, maodeobra, frete,
						total);
				connect.fecharBDConn();
			}
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Erro contate o administrador!!!");
		}

4 Respostas

javaflex

E o que a Exception retorna? Retira esse showMessageDialog, só vai te atrapalhar em identificar qualquer tipo de problema.

Pedro_Torman

@javaflex obrigado realmente, só tirei o showMessageDialog e o lixo do codigo Funfou legal!!

javaflex

Como assim funcionou se dava erro? Era pra ver o que o Exception retornava, ou retirar essa parte toda catch da mensagem, não é para esconder o erro.

Pedro_Torman

Obrigado pelo seu feedback, consegui solucionar

Criado 12 de fevereiro de 2017
Ultima resposta 21 de fev. de 2017
Respostas 4
Participantes 2