Pegando Data e colocando numa query

Pessoal estou com um baita problema na empresa e nao consigo arrumar

Antes de colocar o uma parte do código, vou explicar mais ou menos o que preciso

seguindo a regra de negocios da empresa, preciso em dias determinados extrair informações em txt conectando com o banco
conectar com o banco e extrair o txt blz!
porém as datas é que complicam, mudam todo o mês
que nem

me de agosto
data de corte é
20110721,
20110724,
20110727,
20110802,
20110804,
20110807,
20110810,
20110813,
20110816,
20110818

se for mês de setembro
20110821,
20110824,
20110827,
20110902,
20110904,
20110907,
20110910,
20110913,
20110916,
20110918

Esses valores preciso colocar dentro de um select para extrair os arquivos conforme a data de corte
nisso eu sei que teria que concatenar

vou colocar o select aqui:

ResultSet rs = st.executeQuery("select * from system.parque_trafego_"+dt_data+" where conta = "+dt_corte+" and cod_subtp_produto_comercial = 'LINA'");  

Eu fiz um case, porém está muito grande ,queria diminuir isso, mas nao sei implementar como fazer isso!?
vou colocar uma parte do case aqui, onde pego o mês e os dias do mês que deve executar o sistema

switch(Calendar.getInstance().get(Calendar.MONTH)){  
    case 0://JANEIRO  
        switch(Calendar.getInstance().get(Calendar.DAY_OF_MONTH)){  
         case 07 :  
            System.out.println("dt_ciclo 01 Periodo 09");  
            dt_ciclo              = "01";
            dt_mes_ftra        = dtHora5+dtHora2;
            dt_data               = dtHora5+dtHora2+dt_ciclo;
            dt_corte              = dtHora6+dtHora3+"21";
            break;  
        case 10 :  
            System.out.println("dt_ciclo 02 Periodo 12");  
            dt_ciclo        = "02";  
            dt_mes_ftra    = dtHora5+dtHora2;  
            dt_data        = dtHora5+dtHora2+"02";  
            dt_corte      = dtHora6 + dtHora3 + "24";  
            break;  
        case 13:  
            System.out.println("dt_ciclo 03 Periodo 15");  
            dt_ciclo = "03";  
            dt_mes_ftra = dtHora5 + dtHora2;  
            dt_data = dtHora5 + dtHora2+dt_ciclo;  
            dt_corte = dtHora6 + dtHora3 + "27";  
            break;  
        case 16:  
            System.out.println("dt_ciclo 04 Periodo 18");  
            dt_ciclo    = "04";  
            dt_mes_ftra = dtHora5 + dtHora2;  
            dt_data     = dtHora5 + dtHora2+dt_ciclo;  
            dt_corte    = dtHora5 + dtHora2 + "02";  
            break;  
        case 19:  
            System.out.println("dt_ciclo 05 Periodo 21");  
            dt_ciclo     = "05";  
            dt_mes_ftra  = dtHora5 + dtHora2;  
            dt_data      = dtHora5 + dtHora2+dt_ciclo;  
            break;  
        case 22:  
            System.out.println("dt_ciclo 06 Periodo 24");  
            dt_ciclo     = "06";  
            dt_mes_ftra  = dtHora5 + dtHora2;  
            dt_data      = dtHora5 + dtHora2+dt_ciclo;  
            dt_corte     = dtHora6 + dtHora2 + "07";  
            break;  
        case 25:  
            System.out.println("dt_ciclo 07 Periodo 27");  
            dt_ciclo     = "07";  
            dt_mes_ftra  = dtHora5 + dtHora2;  
            dt_data      = dtHora5 + dtHora2+dt_ciclo;  
            dt_corte     = dtHora6 + dtHora2 + "10";  
            break;  
        case 28:  
            System.out.println("dt_ciclo 08 Periodo 01");  
            dt_ciclo     = "08";  
            dt_mes_ftra  = dtHora5 + dtHora2;  
            dt_data      = dtHora5 + dtHora2+dt_ciclo;  
            dt_corte     = dtHora6 + dtHora2 + "13";  
            break;  
        case 04:  
            System.out.println("dt_ciclo 10 Periodo 06");  
            dt_ciclo     = "10";  
            dt_mes_ftra  = dtHora5 + dtHora2;  
            dt_data      = dtHora6 + dtHora3+dt_ciclo;  
            dt_corte     = dtHora6 + dtHora4 + "18";  
            break;  
        default:  
            System.out.println("dia invalido");  
            System.exit(1);  
            break;  
    }  
    break;  
case 1:  

Estou pegando as datas da seguinte forma, vou colocar só alguns

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");  
  //PEGA DIA ATUAL  
   SimpleDateFormat formatador = new SimpleDateFormat("dd");  
   Date agora = new Date();  
   String dtHora = formatador.format(agora);  
//***************************************************  
//PEGA DIA ATUAL+2  
SimpleDateFormat formatador33 = new SimpleDateFormat("dd");  
GregorianCalendar  call33 = new GregorianCalendar();  
call33.add(Calendar.DATE, 2);  
String dtHora33 = formatador33.format(call33.getTime());  
//***************************************************  
//PEGA MÃ?S ATUAL  
SimpleDateFormat formatador2 = new SimpleDateFormat("MM");  
GregorianCalendar  call = new GregorianCalendar();  
call.add(Calendar.MONTH, 0);  
String dtHora2 = formatador2.format(call.getTime());  
//***************************************************  

Aqui só coloquei uma parte do case, pois está enorme, pois fiz pra cada mês, pois quando chega em janeiro, ele tem que pegar valores do mês de Dezembro

como diminuir esse case, alguém pode me ajudar! grato a todos

Cara não entendi sua pergunta, vc quer diminuir o case é isso?

Isso mesmo, se tem alguma forma claro de diminuir, pois verifico os dias dos meses para rodar o sistema
e coloco os valores que pego de um dia e coloco os valores num select para extrair os arquivos , conforme a data
entendeu!?

[quote=snowblacksoul]Isso mesmo, se tem alguma forma claro de diminuir, pois verifico os dias dos meses para rodar o sistema
e coloco os valores que pego de um dia e coloco os valores num select para extrair os arquivos , conforme a data
entendeu!?
[/quote]

Bom 2 coisas, o case acho que é isso mesmo eu tambem faria a mesma coisa acho… e segundo, quando você seta as datas usa PreparedStatement setando as interrogações “?”.

Enjoy!

MAS NAO TEM COMO CRIAR MÉTODOS?!

Cara depende, se os dados que mudarem forem poucos, você poderia escrever um metodo só e alterar conforme as datas…