ta acontecendo uma coisa muito istranha olha soh
while (rs.next()) {
int x=0;
v.setCodigo(rs.getLong("VEN_CODIGO"));
stmaux = conn.createStatement();
rsaux = stmaux.executeQuery("SELECT * FROM tb_itemvenda WHERE itv_codvenda="
+ rs.getLong("ven_codigo"));
while (rsaux.next()) {
Itemvenda itv = new Itemvenda();
itv.setCodproduto(rsaux.getLong("itv_codproduto"));
itv.setCodvenda(rsaux.getLong("itv_codvenda"));
itv.setQuantidade(rsaux.getInt("itv_quantidade"));
itv.setVlrunitario(rsaux.getFloat("itv_vlrunitario"));
itemvenda.add(itv);
};
System.out.println("valor do x: "+String.valueOf(x));
v.setItemvenda(itemvenda);
System.out.println("codigo antes de adicionar: "+v.getCodigo());
vendas.add(v);
System.out.println("codigo depois de adicionar: "+vendas.get(x).getCodigo());
x++;
};
resultado:
valor do x: 0
codigo antes de adicionar: 4
codigo depois de adicionar: 4
valor do x: 0
codigo antes de adicionar: 5
codigo depois de adicionar: 5
valor do x: 0
codigo antes de adicionar: 6
codigo depois de adicionar: 6
valor do x: 0
codigo antes de adicionar: 7
codigo depois de adicionar: 7
valor do x: 0
codigo antes de adicionar: 8
codigo depois de adicionar: 8
valor do x: 0
codigo antes de adicionar: 9
codigo depois de adicionar: 9
e olha na classe q recebe o array, esse metodo ta em um actionlistener, e ele passa uma posicao pra frente no array e joga na tabela vendas
soh que em vez dele ir pra proxima venda a venda de codigo 5 ele mostra o codigo 9 e nao troca o valor de dentro do vetor
bem confuso neh
Connection c = (Connection) Conection.getInstance().getConnection(0, "exemplo",
"exemplo", "localhost", "1527", "exemplo");
DAOvenda daov = new DAOvenda(c);
List<Venda> vendas = new ArrayList<Venda>();
vendas=daov.buscarTodos();
Venda v = new Venda();
v = vendas.get(x);
System.out.println("valor do x: "+ x);
System.out.println("codigo"+vendas.get(x).getCodigo());
ItemvendaCadastro ivc = new ItemvendaCadastro(vendas.get(x).getItemvenda());
bvenda.getTbVendas().setModel(ivc);
bvenda.getLbCodigo().setText(String.valueOf(vendas.get(x).getCodigo()));
x++;
};
resultado:
valor do x: 0
codigo: 9