Dúvida - Comparação e Adição de Datas

Olá pessoal.

Estou iniciando meus estudos em java e estou começando a ter contato com banco de dados.

Estou precisando alimentar uma coluna de formato date com intervalos de datas.

Exibo 2 objetos jTextField para que o usuário entre com a data inicial e a data final, então a partir de um laço de repetição while insiro as informações no bd.

O problema é o seguinte: Cheguei a ler a api e alguns tópicos sobre conversão de Strings para data porém não consigo fazer a conversão correta.

Outro problema seria quanto a comparação e adição das datas. Usei a classe Calendar porém não obtive sucesso, devo estar fazendo algo errado.

Em uma pseudo linguagem qualquer seria mais ou menos assim:

          Data1 = CaixadeTexto1.pegaTexto;
          Data2 = CaixadeTexto2.pegaText2;
          
           \converteria ambos objetos para Date e então compararia:

          tenta
          {
                      Enquanto (Data1<Data2)
                      {
                       rs.stmt.executeUpdate("Insert into tabela values ("+Data1+")");
                      \incrementaria um dia à Data1
                      }
          }
         apanha(SQLException erro)
         {
                     exibe("Erro no Sql: " sql);
         }


          

Alguem poderia me dar algum dica sobre o assunto? Indicar alguma classe?

Obrigado desde já.

procure aqui mesmo no GUJ sobre a classe Calendar

Tenta assim:

        String d1 = jText1.getText();
        String d2 = jText2.getText();

        DateFormat dft = DateFormat.getDateInstance();

        try {
            
            Calendar data1 = Calendar.getInstance();
            data1.setTime(dft.parse(d1));

            Calendar data2 = Calendar.getInstance();
            data2.setTime(dft.parse(d2));

            while (data1.before(data2)) {
                //insert no banco data1
                data1.add(Calendar.DAY_OF_MONTH, 1); //incrementa um dia
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }

Olá pessoal, obrigado pelas respostas. Vou dar uma procurada sobre essa classe e tentar com o código do amigo acima.

Obrigado.

[quote=vdb]Tenta assim:

[code]
String d1 = jText1.getText();
String d2 = jText2.getText();

    DateFormat dft = DateFormat.getDateInstance();

    try {
        
        Calendar data1 = Calendar.getInstance();
        data1.setTime(dft.parse(d1));

        Calendar data2 = Calendar.getInstance();
        data2.setTime(dft.parse(d2));

        while (data1.before(data2)) {
            //insert no banco data1
            data1.add(Calendar.DAY_OF_MONTH, 1); //incrementa um dia
        }

    } catch (ParseException e) {
        e.printStackTrace();
    }

[/code][/quote]

Olá amigo, muito obrigado pelo código, porém, depois de muita insistência e dor de cabeça descobri que dentro do loop teria que converter o objeto calendar para date, depois usar o SimpleDateFormat para formatar da forma que eu queria e por último converter a data formatada para um string para inserir no BD, que no caso é Access.

Não estou no notebook que está com o código, assim que possível posto aqui pra quem precisar um dia… hehe

Obrigado novamente.

Abraços.