Galera Boa noite, to com um probleminha facil mas nao consigo resolver…eu to fazendo um select de cronogramas de aulas, eu seleciono a turma e depois pego a data como condicao o problema é que quando a data ta indo pro banco mysql, em vez de ir “yyyyMMdd” ta indo yyyy-MM-dd e esses ifens que esta sendo gerado fa minha consulta nao retorna nada mas tambem nao da erro…o codigo segue abaixo…
meu console quando mando imprimir a instrucao me retorna isso…
com.mysql.jdbc.JDBC4PreparedStatement@5c2445: select t.idTurma, c.diaAula, c.idCronograma, c.horarioAula, c.conteudoAula, d.idDisciplina, d.nomeDisciplina, p.idProfessor, p.nomeProfessor from turma t, professor p, disciplina d, cronograma c where c.idTurma = t.idTurma and c.idProfessor = p.idProfessor and c.idDisciplina = d.idDisciplina and c.idTurma = 1 and c.diaAula = '2011-09-25' order by horarioAula
No banco se eu inserir essa linha de comando e tirar os ifens funfa certinho
Classe JDBC
public List getListaCronograma(int idTurma, Date diaAula) throws IOException {
Connection conn = null;
PreparedStatement pst = null;
try {
conn = getConnection();
List<Cronograma> cronograma = new ArrayList<Cronograma>();
pst = conn.prepareStatement("select t.idTurma, c.diaAula, c.idCronograma, c.horarioAula, c.conteudoAula, d.idDisciplina, d.nomeDisciplina, p.idProfessor, p.nomeProfessor "
+ "from turma t, professor p, disciplina d, cronograma c "
+ "where c.idTurma = t.idTurma "
+ "and c.idProfessor = p.idProfessor "
+ "and c.idDisciplina = d.idDisciplina "
+ "and c.idTurma = ? "
+ "and c.diaAula = ? "
+ "order by horarioAula");
System.out.println("cheguei no jdbc");
pst.setInt(1, idTurma);
pst.setDate(2, new java.sql.Date(diaAula.getTime()));
ResultSet rs = pst.executeQuery();
System.out.println(pst);
while (rs.next()) {
Turma turma = getTurma(rs);
Professor professor = getProfessor(rs);
Disciplina disciplina = getDisciplina(rs);
Cronograma cro = new Cronograma();
cro.setIdCronograma(rs.getInt("idCronograma"));
cro.setTurma(turma);
cro.setProfessor(professor);
cro.setDisciplina(disciplina);
cro.setConteudoAula(rs.getString("conteudoAula"));
cro.setDiaAula(rs.getDate("diaAula"));
cro.setHorarioAula(rs.getString("horarioAula"));
cronograma.add(cro);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeResources(conn, pst);
}
return null;
}
Bean
meu xhtml onde eu coloco a turma e o dia
<ui:composition template="template.xhtml">
<ui:define name="content">
<a4j:form id="meuForm">
<rich:panel header="Pesquisa Alunos da Turma" style="width:350px">
<h:panelGrid columns="2" rowClasses="normal">
<h:outputLabel value="Turma"></h:outputLabel>
<h:selectOneMenu id="idTurma" value="#{cronogramaMB.turma.idTurma}"
rendered="true">
<f:selectItems value="#{cronogramaMB.turmas}" />
</h:selectOneMenu>
<h:outputLabel value="Dia de Aula"></h:outputLabel>
<rich:calendar value="#{cronogramaMB.cronograma.diaAula}"
datePattern="dd/MM/yyyy" locale="pt_Br" size="15" />
<h:commandButton value="Consultar" action="listarCronograma.xhtml"></h:commandButton>
</h:panelGrid>
</rich:panel>
</a4j:form>
</ui:define>
</ui:composition>
</html>
E meu richDataTable que recebe a consulta.
<ui:composition template="template.xhtml">
<ui:define name="content">
<h:form id="meuForm">
<a4j:keepAlive beanName="cronogramaMB" />
<rich:dataTable width="450" rows="13" id="cronograma"
value="#{cronogramaMB.listaDaTurma}" var="cro">
<f:facet name="header">
<rich:columnGroup>
<rich:column>
<h:outputText styleClass="headerText" value="Horario Aula" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="Professor" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="Disciplina" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="Conteudo" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="Ações" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column>
<h:outputText value="#{cro.horarioAula}" />
</rich:column>
<rich:column>
<h:outputText value="#{cro.professor.nomeProfessor}" />
</rich:column>
<rich:column>
<h:outputText value="#{cro.disciplina.nomeDisciplina}" />
</rich:column>
<rich:column>
<h:outputText value="#{cro.conteudoAula}" />
</rich:column>
<rich:column>
<h:outputLabel value="Delete"></h:outputLabel>
</rich:column>
<f:facet name="footer">
<rich:datascroller renderIfSinglePage="true" reRender="meuForm"
ajaxSingle="true" />
</f:facet>
</rich:dataTable>
</h:form>
</ui:define>
</ui:composition>