Dúvidas no uso do rich: Calendar

3 respostas
Victor_Almeida

ESTOU TENDO UM PEQUENO PROBLEMA COM DATAS:

TENHO UM FORMULÁRIO QUE ENVIA AS SEGUINTES DATAS PARA O SERVIDOR

<code>

<h:outputText value=“Data para Início:”/>

<rich:calendar value="#{avaliacao.parametros.dataInicio}" datePattern=“dd/MM/yyyy”>

<f:convertDateTime dateStyle=“date” type=“date”  pattern=“dd/MM/yyyy” />

</rich:calendar>
&lt;h:outputText value="Data para o Término:"/&gt;
    		&lt;rich:calendar value="#{avaliacao.parametros.dataFim}" datePattern="dd/MM/yyyy"&gt;
    			&lt;f:convertDateTime dateStyle="date" type="date"  pattern="dd/MM/yyyy" /&gt; 
    		&lt;/rich:calendar&gt;

</code>

ELE CHAMA O MÉTODO NORMALMENTE, AS DATAS ESTÃO DEFINIDAS COMO JAVA.UTIL.DATE, PORÉM, QUANDO CHEGA DO DAO PRA
SALVAR AS DATAS ELE DIZ QUE NÃO CONSEGUE CONVERTER JAVA.UTIL.DATE PARA JAVA.SQL.DATE

SEGUE O CÓDIGO DO DAO

<code>

//DADOS DE PARÂMETROS DE AVALIACAO

if (parametros == null)

throw new DAOException(O valor passado não pode ser nulo);
try {
				
				String SQL = "insert into parametroavaliacao (parametroavaliacaoid,avaliacaoid,qtdtotalquestoes,"+
							 "qtdpeso1,qtdpeso2,qtdpeso3,tempoavaliacao,notaminima,datainicio,datafim)"+
							 " VALUES (0, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
				conn = this.conn;
				ps = conn.prepareStatement(SQL);
				
				
				ps.setInt(1,  avaliacaoId);
				ps.setInt(2, parametros.getQtdTotalQuestoes());
				ps.setInt(3, parametros.getQtdPeso1());
				ps.setInt(4, parametros.getQtdPeso2());
				ps.setInt(5, parametros.getQtdPeso3());					
				ps.setInt (6, parametros.getTempoAvaliacao());
				ps.setFloat (7, parametros.getNotaMinima());
				ps.setDate (8, (Date) parametros.getDataInicio());
				ps.setDate (9, (Date) parametros.getDataFim());
				
				ps.executeUpdate( );
				System.out.println("DAO Salvar parametros OK");
	
			} catch (SQLException sqle) {
				throw new  
				DAOException("Erro ao inserir dados "+ sqle);
			}

</code>

3 Respostas

Victor_Almeida

Pô, foi mal galera! O código aí em cima tá ruím, não prestei atenção ao postar, acho que melhora assim

ESTOU TENDO UM PEQUENO PROBLEMA COM DATAS:

TENHO UM FORMULÁRIO QUE ENVIA AS SEGUINTES DATAS PARA O SERVIDOR

<h:outputText value="Data para Início:"/>
        		<rich:calendar value="#{avaliacao.parametros.dataInicio}" datePattern="dd/MM/yyyy">
        			<f:convertDateTime dateStyle="date" type="date"  pattern="dd/MM/yyyy" /> 
        		</rich:calendar>
        		<br><br>
        		
        		        		
        		<h:outputText value="Data para o Término:"/>
        		<rich:calendar value="#{avaliacao.parametros.dataFim}" datePattern="dd/MM/yyyy">
        			<f:convertDateTime dateStyle="date" type="date"  pattern="dd/MM/yyyy" /> 
        		</rich:calendar>

ELE CHAMA O MÉTODO NORMALMENTE, AS DATAS ESTÃO DEFINIDAS COMO JAVA.UTIL.DATE, PORÉM, QUANDO CHEGA DO DAO PRA
SALVAR AS DATAS ELE DIZ QUE NÃO CONSEGUE CONVERTER JAVA.UTIL.DATE PARA JAVA.SQL.DATE

SEGUE O CÓDIGO DO DAO

//DADOS DE PARÂMETROS DE AVALIACAO
			if (parametros == null)
				throw new DAOException("O valor passado não pode ser nulo");	
		
		
				try {
					
					String SQL = "insert into parametroavaliacao (parametroavaliacaoid,avaliacaoid,qtdtotalquestoes,"+
								 "qtdpeso1,qtdpeso2,qtdpeso3,tempoavaliacao,notaminima,datainicio,datafim)"+
								 " VALUES (0, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
					conn = this.conn;
					ps = conn.prepareStatement(SQL);
					
					
					ps.setInt(1,  avaliacaoId);
					ps.setInt(2, parametros.getQtdTotalQuestoes());
					ps.setInt(3, parametros.getQtdPeso1());
					ps.setInt(4, parametros.getQtdPeso2());
					ps.setInt(5, parametros.getQtdPeso3());					
					ps.setInt (6, parametros.getTempoAvaliacao());
					ps.setFloat (7, parametros.getNotaMinima());
					ps.setDate (8, (Date) parametros.getDataInicio());
					ps.setDate (9, (Date) parametros.getDataFim());
					
					ps.executeUpdate( );
					System.out.println("DAO Salvar parametros OK");
		
				} catch (SQLException sqle) {
					throw new  
					DAOException("Erro ao inserir dados "+ sqle);
				}
webdouglas

tente fazendo assim:

irá gerar um java.sql.Date utilizando o milisegundos da data.

qualquer coisa avise ai!

Victor_Almeida

douglaspaulino:
tente fazendo assim:

irá gerar um java.sql.Date utilizando o milisegundos da data.

qualquer coisa avise ai!

Valeu Douglas, era isso mesmo

Resovleu meu problema.

Um abraço

Criado 27 de julho de 2010
Ultima resposta 27 de jul. de 2010
Respostas 3
Participantes 2