sábado, 7 de junho de 2014

[java-br] HELP! Erro ao inserir item na jtable-Esta sobrepondo itens ja inseridos

·

 

Olá 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 TABELA

public 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 JTABLE

     conn.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 PRODUTO

private 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 ITEM 

public 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: ewe19pro@yahoo.com.br
Responder através da web através de email Adicionar um novo tópico Mensagens neste tópico (1)
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br

.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog