Helder,
Entendi a sua lógica de fazer vários inserts porque são várias contas a pagar.
Mas no seu loop não existe a lógica dos vencimentos.
No seu formulário, se o usuário escolhe o dia do vencimento, todo dia 15 de cada
mês, então:
1 - Pega o mês e adicona a parcela correspondente. 10+0 =10 primeira parcela,
mes de outubro; 10+1=11 segunda parcela, mês de novembro; e assim por diante;
2 - Armazenas as datas dos vencimentos em um array e ao rodar o loop do insert,
as datas de vencimentos serão inseridas.
Não acho que você esta longe da conclusão.
Obs: Atualmente, a comunidade Java prefere usar a classe
java.util.GregorianCalendar para trabalhar com datas porque a classe date esta
depreciada.
Abraço
Rodrigo Nunes
________________________________
De: Hélder <helder.emiliano@hotmail.com>
Para: java-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 3 de Novembro de 2010 15:17:22
Assunto: Re: Res: [java-br] Calendar receber o Valor informado?
Cara ao mesmo tempo que eu achei que estava próximo de uma solução, descobri que
eu estou ainda mais longe, veja bem:
Eu tenho um formulario, que seta o valor do jformattedTextField para uma bean:
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
BeanContasPagar Bcp = new BeanContasPagar();
Bcp.setDataVencimento(formatter.parse(jftfDataVencimento.getText().replace("/",
".")));
Tenho a Bean com meus getters e setters:
private Date DataVencimento;
public Date getDataVencimento() {
return DataVencimento;
}
/**
* @param DataVencimento the DataVencimento to set
*/
public void setDataVencimento(Date DataVencimento) {
this.DataVencimento = DataVencimento;
}
e por fim , tenho meu crud que é onde eu criei um for, para que ele passe
quantas vezes a conta tiver parcelada:
for (int i = 0; i < c1.getNumDeParcelas(); i++){
String sql = "INSERT INTO CONTAS_A_PAGAR
(CP_VALOR,CP_NUM_PARCELA,COMP_CODIGO,CP_DATA_EMISSAO,CP_DATA_VENCIMENTO,CP_VALOR_PARCELA)"+"values(?,?,?,?,?,?)";
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setFloat(1, c1.getValor());
stmt.setInt(2, i+1);
stmt.setInt(3, c1.getCodCompra());
stmt.setDate(4, new java.sql.Date(c1.getDataEmissao().getTime()));
stmt.setDate(5, new java.sql.Date(c1.getDataVencimento().getTime()));
stmt.setFloat(6, c1.getValorParcela());
stmt.execute();
stmt.close();
É exatamente neste stmt.setDate(5, new
java.sql.Date(c1.getDataVencimento().getTime()));, que eu esperava acrescentar
um mês nas datas das parcelas a cada vez que o laço se repetisse, pelo que eu
andei pesquisando a manhã inteira, acredito que com o Calendar eu não
conseguiria fazer isto, num sei se estou errado, mas acho que a lógica estava
errada desde o começo, ou não?
[As partes desta mensagem que não continham texto foram removidas]
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br







0 comentários:
Postar um comentário