Opa, Nicolas Fernandes!
esta modelada assim:[code]
public class Produto {
private Long id1;
private double preco;
private int quantidade;
private String nome1, categoria;
public class Contato {
private Long id;
private String nome,bairro,rua,referencia;
public class Vendas {
private double valor, total;
private String descricao;
Long idvenda;
private int quant;
private Contato contato;
//ProdutoDao
public void adiciona(Produto p1) throws SQLException {
String sql = “insert into produtos(nome1, preco, quantidade)”
+ “values (?,?,?)”;
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, p1.getNome1());
stmt.setDouble(2, p1.getPreco());
stmt.setInt(3, p1.getQuantidade());
stmt.execute();
stmt.close();
}
public List<Produto> getLista(String nome1) throws SQLException {
String sql = "select * from produtos where nome1 like? Order by nome1";
PreparedStatement stmt = (PreparedStatement) this.conexao.prepareStatement(sql);
stmt.setString(1, nome1);
ResultSet rs = stmt.executeQuery();
List<Produto> minhaLista = new ArrayList<Produto>();
while (rs.next()) {
Produto p1 = new Produto();
p1.setId1(Long.valueOf(rs.getString("id1")));
p1.setNome1(rs.getString("nome1"));
p1.setPreco(Double.valueOf(rs.getString("preco")));
p1.setQuantidade(Integer.valueOf(rs.getString("quantidade")));
minhaLista.add(p1);
}
rs.close();
stmt.close();
return minhaLista;
}
public void altera(Produto p1) throws SQLException {
String sql = "update produtos set nome1=?, preco=?,quantidade=?"
+ " where id1=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, p1.getNome1());
stmt.setDouble(2, p1.getPreco());
stmt.setInt(3, p1.getQuantidade());
stmt.setLong(4, p1.getId1());
stmt.execute();
stmt.close();
}
public void remove(Produto p1) throws SQLException {
String sql = "delete from produtos where id1=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setLong(1, p1.getId1());
stmt.execute();
stmt.close();
}
}
//VendasDao
public void adiciona(Vendas e1) throws SQLException {
String sql = “insert into venda(descricao, quant, valor, total,contatos_id1,idvenda)”
+ “values (?,?,?,?,?,0)”;
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, e1.getDescricao());
stmt.setInt(2, e1.getQuant());
stmt.setDouble(3, e1.getValor());
stmt.setDouble(4,e1.getTotal());
stmt.setLong(5,e1.getContato().getId());
stmt.execute();
stmt.close();
}
public List<Vendas> getLista(String rua) throws SQLException {
String sql = "select * from venda where nome like? Order by nome";
PreparedStatement stmt = (PreparedStatement) this.conexao.prepareStatement(sql);
stmt.setString(1, rua);
ResultSet rs = stmt.executeQuery();
List<Vendas> minhaLista = new ArrayList<Vendas>();
while (rs.next()) {
Vendas e1 = new Vendas();
e1.setIdvenda(Long.valueOf(rs.getString("idvenda")));
e1.setDescricao(rs.getString("descricao"));
e1.setQuant(rs.getInt("quant"));
e1.setValor(rs.getDouble("valor"));
e1.setTotal(rs.getDouble("total"));
minhaLista.add(e1);
}
rs.close();
stmt.close();
return minhaLista;
}
public void altera(Vendas e1) throws SQLException {
String sql = "update venda set descricao=?, quant=?,valor=?,total=?"
+ " where idvenda=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, e1.getDescricao());
stmt.setInt(2, e1.getQuant());
stmt.setDouble(3, e1.getValor());
stmt.setDouble(4, e1.getTotal());
stmt.setLong(5, e1.getIdvenda());
stmt.execute();
stmt.close();
}
public void remove(Vendas e1) throws SQLException {
String sql = "delete from endereco where idvenda=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setLong(1, e1.getIdvenda());
stmt.execute();
stmt.close();
}
}
//ContatoDao
public void adiciona(Contato c1) throws SQLException {
String sql = “insert into contatos (nome, rua, bairro, referencia)”
+ “values (?,?,?,?)”;
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, c1.getNome());
stmt.setString(2, c1.getRua());
stmt.setString(3, c1.getBairro());
stmt.setString(4, c1.getReferencia());
stmt.execute();
stmt.close();
}
public List<Contato> getLista(String nome) throws SQLException {
String sql = "select * from contatos where nome like? Order by nome";
PreparedStatement stmt = (PreparedStatement) this.conexao.prepareStatement(sql);
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery();
List<Contato> minhaLista = new ArrayList<Contato>();
while (rs.next()) {
Contato c1 = new Contato();
c1.setId(Long.valueOf(rs.getString("id")));
c1.setNome(rs.getString("nome"));
c1.setRua(rs.getString("rua"));
c1.setBairro(rs.getString("bairro"));
c1.setReferencia(rs.getString("referencia"));
minhaLista.add(c1);
}
rs.close();
stmt.close();
return minhaLista;
}
public void altera(Contato c1) throws SQLException {
String sql = "update contatos set nome=?, rua=?,bairro=?, referencia=?"
+ " where id=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setString(1, c1.getNome());
stmt.setString(2, c1.getRua());
stmt.setString(3, c1.getBairro());
stmt.setString(4, c1.getReferencia());
stmt.setLong(5, c1.getId());
stmt.execute();
stmt.close();
}
public void remove(Contato c1) throws SQLException {
String sql = "delete from contatos where id=?";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
stmt.setLong(1, c1.getId());
stmt.execute();
stmt.close();
}
}
//Jframe
public class JPrincipal extends javax.swing.JFrame {
private Double num3;
DefaultTableModel tmContato = new DefaultTableModel(null, new String[]{"Codigo", "Nome", "Rua", "Bairro", "Referencia"});
List<Contato> contatos;
ListSelectionModel lsmContatos;
private ListSelectionModel lsmContato;
DefaultTableModel tmProduto = new DefaultTableModel(null, new String[]{"Codigo", "Descrição", "Preço", "Quantidade"});
List<Produto> produtos;
ListSelectionModel lsmProdutos;
private ListSelectionModel lsmProduto;
data mostra;
int iniciaComobo;
DefaultTableModel vendas = new DefaultTableModel(null, new String[]{"Descrição", "Quant", "Valor", "Total"}) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
//eu preencho um table assim
public void tablePreenche() {
Adicionar:
{
double valor = Double.parseDouble(this.jTValorUnit.getText()) * Double.parseDouble(this.jTQuantVen.getText());
String[] linha = new String[]{
this.jCProduto.getSelectedItem().toString(),
this.jTQuantVen.getText(),
this.jTValorUnit.getText(),
String.valueOf(valor)};
vendas.addRow(linha);
}
}
// salvo no banco assim
private void salvarNoBanco(){
try {
Contato c = new ContatoDao().getLista(jCCliente.getSelectedItem().toString()).get(0);
for (int i = 0; i < this.vendas.getRowCount(); i++) {
Vendas ven = new Vendas();
ven.setContato©;
ven.setDescricao(this.vendas.getValueAt(i, 0).toString());
ven.setQuant(Integer.valueOf(this.vendas.getValueAt(i, 1).toString()));
ven.setValor(Double.valueOf(this.vendas.getValueAt(i,2).toString()));
ven.setTotal(Double.valueOf(this.vendas.getValueAt(i,3).toString()));
VendasDao dao =new VendasDao();
dao.adiciona(ven);
}
} catch (Exception ex) {
System.out.println("Erro " + ex.getMessage());
}
}
[/code]
gostaria de saber como baixar a quantidade d acordo que for vendendo se precisar de mais alguma coisa eu mando valeu pode ser trigger tambem tanto faz direto no sql ou na aplicaçao gostaria e d velo funcionando!
grato!