Em 08/06/2014, às 11:52, "Everton Antonio Oliva ewe19pro@yahoo.com.br [java-br]" <java-br@yahoogrupos.com.br> escreveu:
Olá Marcus,Agradeço pela dica anterior, mas estou com dificuldade pois ainda estou no primeiro projeto, e não consegui implementar o meu código com sua dica, por gentileza e quase implorando, você pode me ajudar com um exemplo?Em Sábado, 7 de Junho de 2014 18:24, "Marcus Paulo mpaulobr@gmail.com [java-br]" <java-br@yahoogrupos.com.br> escreveu:
Boa tarde Ewe19,Desculpe, a demora para responder, acredito que o pessoal do grupo teve dificuldade para entender o seu problema.De qualquer forma, experimente fazer o seguinte - o erro deve está acontecendo por que você está "reaproveitando o mesmo objeto consultado" por isso, experimente limpar o seu objeto (instanciar)2 - (se eu entendi direito) - ele não pode de forma alguma na inserção - sobrescrever algum registro. Para isso você der utilizar o update. (Verifique no seu banco sua chave primária e as constraints)Espero ter ajudado.Abraços,Marcus PauloEnviado via iPhoneOlá pessoal...Estou desenvolvendo um sistema de venda, possuo duas tabelas com "extends abstractTableModel" MODELO MVC , uma eu seleciono o cliente e mando para o text field, acontece o mesmo com a busca do produto, isso com a mesma tabela, e a segunda tabela é a que possui os itens selecionados(os comprados), mas a grande dificuldade é que;quando clico em "ADICIONAR ITEM" ele sobrepoe o produto que ja havia inserido, agora vamos a um detalhe muito importante, quando apenas seleciono o item e não clico no botão para pesquisar itens pelo nome ele insere todos linha por linha como são muitos produtos não posso ficar usando a barra de rolagem da jtable , mas ai volta o problema, quando busco pelo nome ou codigo de barra ele volta a sobrepor os itens ja inseridos,peço por gentileza ajuda a todos, estou com essa imensa dificuldade fiz varios testes e pesquisas e não consegui solucionar isso,precisava ter entregue esse sistema a 15 dias más como sou iniciante cometi algumas falhas,estou agradeçendo a todos antecipadamente...__________________________________________________________________________________CLASSE MODELO TABELApublic class ModeloTabela extends AbstractTableModel{private ArrayList<Object[]> data = null;private ArrayList linhas = null;private String[] colunas = null;public ModeloTabela(ArrayList lin,String[] col){setLinhas(lin);setColunas(col);}Public ArrayList getLinhas(){return linhas;}public void setLinhas(ArrayList dados){linhas = dados;}public String[] getColunas(){return colunas;}public void setColunas(String[] nomes){colunas = nomes;}public int getColumnCount(){return colunas.length;}public int getRowCount(){return linhas.size();}public String getColumnName(int numCol){return colunas[numCol];}public Object getValueAt(int numLin, int numCol){Object[] linha = (Object[])getLinhas().get(numLin);return linha[numCol];}public boolean isCellEditable(int linha, int coluna) {return true;}public void removeRow(int numLin) {getLinhas().remove(numLin);//fireTableDataChanged();fireTableRowsDeleted(numLin, numLin);}________________________________________________________________________________BOTÃO USO LOCALIZAR O PRODUTO JTABLEconn.conexao();PreparedStatement pst = conn.conn.prepareStatement("insert into venda_cab (total_venda_cab) values(?)");pst.setDouble(1, 0);pst.execute();conn.executeSQL("select * from venda_cab");conn.rs.last();codVenda = conn.rs.getInt("cod_venda_cab");flag = 2;preencherTabelaproduto("Select * from produto where descricao_produto like '%" + jTProduto.getText() + "%'");}__________________________________________________________________________________BOTÃO INSERIR PRODUTOprivate void jBAdicionarItemActionPerformed(java.awt.event.ActionEvent evt) {if(JTcliente.getText().equals("")){JOptionPane.showMessageDialog(null, "Cliente-Não salve antes de colocar o nome do cliente.");JTcliente.requestFocus();}if(jTDesconto.getText().equals("")){jTProduto.setText("0");}int cod_venda_cab, quantidade = 0;String recebecod = "";conn.conexao();conn.executeSQL("select * from produto where descricao_produto='" + jTProduto.getText() + "'");conn.rs.next();quantidade = conn.rs.getInt("estoque_produto");recebecod = conn.rs.getString("cod_produto");if (quantidade >= Integer.parseInt(jTQtdItem.getText())) {mod.setDescricao_produto(jTProduto.getText());mod.setQtd_venda_det(Integer.parseInt(jTQtdItem.getText()));mod.setCod_venda_cab(codVenda);control.adicionaItem(mod);preencherTabelaItensVenda("select * from produto inner join venda_det "+ "on produto.cod_produto = venda_det.cod_produto inner join\n"+ " venda_cab on venda_cab.COD_VENDA_CAB=venda_det.COD_VENDA_CAB where venda_cab.COD_VENDA_CAB=" + codVenda);} else {}jTCOD_produto.setText("");jTProduto.setText("");jTCOD_produto.requestFocus();}_________________________________________________________________________________MÉTODO ADICIONA ITEMpublic void adicionaItem(ModeloVenda mod) throws SQLException {achaCodProduto(mod.getDescricao_produto());conexao.conexao();try {PreparedStatement pst = conexao.conn.prepareStatement("insert into venda_det(cod_venda_cab, cod_produto, qtd_venda_det) values (?,?,?)");pst.setInt(1, mod.getCod_venda_cab());pst.setString(2, codProd);pst.setInt(3, mod.getQtd_venda_det());pst.execute();conexao.desconecta();} catch (SQLException ex) {JOptionPane.showMessageDialog(null, "Erro ao realizar a venda:" + ex);}}
Enviado por: Marcus Paulo <mpaulobr@gmail.com>
Responder através da web | • | • | através de email | • | Adicionar um novo tópico | • | Mensagens neste tópico (4) |
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
0 comentários:
Postar um comentário