domingo, 8 de junho de 2014

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

·

 

Boa tarde Everton, 

Estou com dificuldade para entender o seu problema. 

Você pode explicar de forma mais simples e direta - 
2 - você pode colocar o código-fonte completo, (das classes em questão). 

Desculpe, mas estou com dificuldades para entender o seu problema. 

Abraços,
Marcus Paulo

Enviado via iPhone

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 Paulo

Enviado via iPhone

Em 07/06/2014, às 17:54, "ewe19pro@yahoo.com.br [java-br]" <java-br@yahoogrupos.com.br> escreveu:

 
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: 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 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