Galera to tentando fazer minha compra funcionar, o problema agora e PK de compra.
Na classe TelaCompra set as persistencias de Compra e ItemCompra
public void setPersistenciaCompra() {
compra.setCodigo(0); // Generator Banco Firebird
compra.setCodigoFornecedor(Integer.parseInt(jtCodigoFornecedor.getText()));
compra.setNumeroNota(Integer.parseInt(jtNota.getText()));
compra.setData(jtDataCadastro.getData());
compra.setVlrTotal(ConverteDoubleString.textoParaDouble(jlTotal.getText()));
}
public void setPersistenciaItem() {
for (int i = 0; i < tabelaCompra.getTabela().getRowCount(); i++) {
itemCompra = new ItemCompra();
itemCompra.setCodigo(0);
itemCompra.setCodigoCompra(Integer.parseInt(jtCodigoCompra.getText())); //Problema...!!!
itemCompra.setCodigoProduto(Integer.parseInt((String) tabelaCompra.getTabela().getValueAt(i, 0)));
itemCompra.setQuantidade(Integer.parseInt((String) tabelaCompra.getTabela().getValueAt(i, 2)));
itemCompra.setVlrUnitario(Double.parseDouble((String) tabelaCompra.getTabela().getValueAt(i, 3)));
itemCompra.setValortotalunitario(Double.parseDouble((String) tabelaCompra.getTabela().getValueAt(i, 4)));
itensCompra.add(itemCompra);
}
}
Como posso pegar o codigo da compra depois que fiz a insercao no banco lembrando que tenho um generator no Firebird ?
public void incluirDados() {
setPersistenciaItem();
itemCompra.inserir();
setPersistenciaCompra();
for (int i = 0; i < itensCompra.size(); i++) {
itensCompra.get(i).inserir();
}
}
//Persistencia de Compra
public boolean inserir() {
try {
PreparedStatement ps = ConexaoFirebird.getConexao().prepareStatement(insertsql);
ps.setInt(1, codigo);
ps.setInt(2, codigoFornecedor);
ps.setInt(3, numeroNota);
ps.setString(4, data);
ps.setDouble(5, frete);
ps.setDouble(6, vlrTotal);
ps.execute();
for (int i = 0; i < itensCompra.size(); i++) {
itensCompra.get(i).inserir();
}
return true;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não foi possivel inserir :" + e);
return false;
}
}
//Persistencia de ItemCompra
public boolean inserir() {
try {
PreparedStatement ps = ConexaoFirebird.getConexao().prepareStatement(insertsql);
ps.setInt(1, codigo);
ps.setInt(2, codigoCompra);
ps.setInt(3, codigoProduto);
ps.setInt(4, quantidade);
ps.setDouble(5, vlrUnitario);
ps.setDouble(6, valortotalunitario);
ps.execute();
JOptionPane.showMessageDialog(null,"passei por aqui");
return true;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não foi possivel inserir :" + e);
return false;
}
}