dsystem, abaxi está todo meu código:
package CamadaNegocio;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
public class Frequencias {
public String getMes() {
return mes;
}
public void setMes(String mes) {
this.mes = mes;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
private Statement stam;
private String frequencia;
private String st;
private ResultSet rs;
private String dataInicial;
private String dataFinal;
private String nome;
private String matricula;
private String mes;
public String getDataFinal() {
return dataFinal;
}
public void setDataFinal(String dataFinal) {
this.dataFinal = dataFinal;
}
public String getDataInicial() {
return dataInicial;
}
public void setDataInicial(String dataInicial) {
this.dataInicial = dataInicial;
}
public String getFrequencia() {
return frequencia;
}
public void setFrequencia(String frequencia) {
this.frequencia = frequencia;
}
public Statement getStam() {
return stam;
}
public void setStam(Statement stam) {
this.stam = stam;
}
public Frequencias(Connection con) {
try {
stam = con.createStatement();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi criada a Statement de Aluno");
}
}
//Inicio comanado para pesquisar Frequencia x Idade
public ResultSet pesquisar() {
st = "SELECT KERBEROS_FREQUENCIA_CONTAGEM.CODIGO_CLIENTE, SOCIUS_ASSOCIADOS.NO_CLIENTE, SOCIUS_ASSOCIADOS.IDADE_ANOS, KERBEROS_FREQUENCIA_CONTAGEM.FREQ_MES_ANT FROM SOCIUS_ASSOCIADOS JOIN KERBEROS_FREQUENCIA_CONTAGEM ON SOCIUS_ASSOCIADOS.CO_CLIENTE = KERBEROS_FREQUENCIA_CONTAGEM.CODIGO_CLIENTE WHERE FREQ_MES_ANT > '" + getMes() + "' ORDER BY IDADE_ANOS,FREQ_MES_ANT";
try {
rs = stam.executeQuery(st);
return rs;
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel gerar a Consulta");
return null;
}
}
//FIM
public String dataAtualGregorianCalendar(Date data) {
DateFormat formata = DateFormat.getDateInstance();
String resultado = formata.format(data);
System.out.println("--");
System.out.println("--");
System.out.println("Data de Hoje é --> " + resultado);
System.out.println("--");
System.out.println("--");
return resultado;
}
//TESTE PARA SABER AS SEMANAS
private static Date resolvePrimeiroUltimo(Date data, boolean isPrimeiro) {
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(data);
if (isPrimeiro) {
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
} else {
calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
}
return calendar.getTime();
} // FIM DO TESTE DA SEMANA
//Inicio comando para pesquisar nome,data,matricula
public ResultSet frequencia() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sdf.setLenient(false);
Date dataIni = sdf.parse(this.getDataInicial());
Date dataFin = sdf.parse(this.getDataFinal());
String d1 = dataAtualGregorianCalendar(dataIni); // data do dia dataAtual.getTime()
String d2 = dataAtualGregorianCalendar(dataFin);
//TESTE PARA SABER O DIA DA SEMANA
Date date = new Date();
Date primeiro = resolvePrimeiroUltimo(date, true);
String sprimeiro = dataAtualGregorianCalendar(primeiro);
Date ultimo = resolvePrimeiroUltimo(date, false);
String sultimo = dataAtualGregorianCalendar(ultimo);
System.out.println(sprimeiro + " - " + sultimo);
//============================================
//PRIMEIRO E ULTIMO DIA DO MÊS
Calendar dataAtual = Calendar.getInstance();
Calendar primeiroDia = Calendar.getInstance();
Calendar ultimoDia = Calendar.getInstance();
//1º dia do mês atual
primeiroDia.add(Calendar.DAY_OF_MONTH, -dataAtual.get(Calendar.DAY_OF_MONTH));
primeiroDia.add(Calendar.DAY_OF_YEAR, 1);
String primeirodia = dataAtualGregorianCalendar(primeiroDia.getTime());
System.out.println(dataAtualGregorianCalendar(primeiroDia.getTime()));
//Ultimo dia do mês atual
ultimoDia.add(Calendar.MONTH, 1);
ultimoDia.add(Calendar.DAY_OF_MONTH, -dataAtual.get(Calendar.DAY_OF_MONTH));
String ultimodia = dataAtualGregorianCalendar(ultimoDia.getTime());
System.out.println(dataAtualGregorianCalendar(ultimoDia.getTime()));
//============================================
System.out.println("o primeiro dia é :" + primeirodia + " o ultimo dia é: " + ultimodia);
//========================= TESTESTESTES ==============================
//QUANTIDADE DE SEMANA NO MêS
//-- INICIO
Calendar cal = new GregorianCalendar();
int Omes = 10;//Aqui voce digita o mes que deseja descobrir
int mesF = Omes - 1;//O mes, no Calendar, vai de 0 a 11, por isso fazemos essa "continha", ou seja, se voce deseja saber sobre o mês 10,pelo Calendar você teria que digitar 9, para não ter esse problema,é feito essa conta.
int semanas = cal.getActualMaximum(Calendar.WEEK_OF_MONTH); //Aqui mostra quantas semanas tem no determinado mês
System.out.println("O mes tem " + semanas + " semanas ");
//--FIM
//CASO EU CONSIGA PEGAR AS SEMANAS ENTRARIA AQUI
//------ 1 - SEMANA
st = "select kerberos_transito.codigo_cliente, socius_associados.no_cliente, Kerberos_transito.data_transito from kerberos_transito join socius_associados on kerberos_transito.codigo_cliente = socius_associados.co_cliente where data_transito >= '1-SEMANAINICIO' and data_transito <= '1-SEMANAFIM' ";
//------ 2 - SEMANA
st = "select kerberos_transito.codigo_cliente, socius_associados.no_cliente, Kerberos_transito.data_transito from kerberos_transito join socius_associados on kerberos_transito.codigo_cliente = socius_associados.co_cliente where data_transito >= '2-SEMANAINICIO' and data_transito <= '2-SEMANAFIM' ";
//------ 3 - SEMANA
st = "select kerberos_transito.codigo_cliente, socius_associados.no_cliente, Kerberos_transito.data_transito from kerberos_transito join socius_associados on kerberos_transito.codigo_cliente = socius_associados.co_cliente where data_transito >= '3-SEMANAINICIO' and data_transito <= '3-SEMANAFIM' ";
//FIM
//st = "select kerberos_transito.codigo_cliente, socius_associados.no_cliente, Kerberos_transito.data_transito from kerberos_transito join socius_associados on kerberos_transito.codigo_cliente = socius_associados.co_cliente where data_transito >= '20100901' and data_transito <= '20100902' ";
//st = "st = "select kerberos_transito.codigo_cliente, socius_associados.no_cliente, Kerberos_transito.data_transito from kerberos_transito join socius_associados on kerberos_transito.codigo_cliente = socius_associados.co_cliente where CONVERT (VARCHAR(10),data_transito,103) >= '"+d1+"' and CONVERT (VARCHAR(10),data_transito,103) <= '"+d2+"' and no_cliente like '%"+this.getNome()+"%' and codigo_cliente like '"+this.getMatricula()+"%' order by codigo_cliente";
//SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); //invertido
try {
rs = stam.executeQuery(st);
return rs;
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel gerar a Consulta");
return null;
}
}
public ResultSet atualizafreq() {
st = "select * from algo";
try {
rs = stam.executeQuery(st);
return rs;
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel atualizar as frequencias");
return null;
}
}
}
Coloquei os selects que irei fazer, caso consiga pegar as datas da semana. vlw!