Problema na conversao Date para salvar no banco de dados

6 respostas
L
Bom dia , sou iniciante estou tentando fazer um conversão  do tipo date para o banco de dados e salvar em um arraylist mais a aplicação não aceita  tentei diversas formas alguém consegue me fala onde esta errado .      A ultima tentativa  ( Editar Dao   )  fazendo por (  string ) da seguinte maneira :

String dia  = f.getDtingresso().toString().substring(0, 2);

String mes  = f.getDtingresso().toString().substring(3, 5);

String ano  = f.getDtingresso().toString().substring(6);

String  dataParaMySQL = ano+"-"+mes+"-"+dia;

comando.setString (13, dataParaMySQL );


Sem sucesso apresente erro de conversão ou erro de java.util.date para java.sql.date

Classe DAO

package br.com.sistema.DAOFUNCIONARIO;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import org.junit.Test;

import br.com.sistema.factory.Conexaofactory;

import br.com.sistema.funcionario.Emailfunc;

import br.com.sistema.funcionario.EndFunc;

import br.com.sistema.funcionario.Funcionario;

import br.com.sistema.funcionario.Telfunc;

import sun.text.resources.ar.FormatData_ar;

public class FuncionarioDao {

public void excluir(Funcionario c) throws SQLException {
	StringBuilder sql = new StringBuilder();
	sql.append("DELETE FROM funcionario WHERE idfunc = ?");
	
	
	 Connection conexao = Conexaofactory.conectar();
	
	PreparedStatement comando = conexao.prepareStatement(sql.toString());
	comando.setInt(1, c.getIdfunc() ); 
	
	comando.executeUpdate();
			
	
}

public void salvar(Funcionario f) throws SQLException {
	   
	StringBuilder sql = new StringBuilder();
	sql.append("INSERT INTO funcionario (nome, rg, cpf, sexo, estciv, nomepai, nomemae, certmilitar, titeleitor, cnh, catcnh, pis, dtingresso, dtdesligamento, dtnascimento, cargo, salario, idtelfunc, idendfunc, idemailfunc");
	sql.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

	
	Connection conexao = Conexaofactory.conectar();
	
	PreparedStatement comando = conexao.prepareStatement(sql.toString());
	comando.setString  (1, f.getNome());
	comando.setString  (2, f.getRg());
	comando.setString  (3, f.getCpf());
	comando.setString  (4, f.getSexo());
	comando.setString  (5, f.getEstciv());
	comando.setString  (6, f.getNomepai());
	comando.setString  (7, f.getNomemae());
	comando.setString  (8, f.getCertmilitar());
	comando.setString  (9, f.getTiteleitor());
	comando.setString  (10,f.getCnh());
	comando.setString  (11, f.getCatcnh());
	comando.setString  (12, f.getPis());
	comando.setDate    (13, (java.sql.Date) f.getDtingresso());
	comando.setDate    (14, (java.sql.Date) f.getDtdesligamento());
	comando.setDate    (15, (java.sql.Date) f.getDtnascimento());
	comando.setString  (16, f.getCargo());
	comando.setDouble  (17, f.getSalario());
	
	comando.setInt     (18, f.getTelfunc().getIdtelfunc());
	comando.setInt     (19, f.getEndfunc().getIdendfunc());
	comando.setInt     (20, f.getEmailfunc().getIdmailfunc());
	
	
	comando.executeUpdate();
	
         } 
   
public ArrayList<Funcionario> listar () throws SQLException{
	
	StringBuilder sql = new StringBuilder();
	sql.append( "SELECT  f.nome, f.rg, f.cpf, f.sexo, f.estciv, f.nomepai, f.nomemae, f.certmilitar, f.titeleitor, f.cnh, f.catcnh, f.pis, f.dtingresso, f.dtdesligamento, f.dtnascimento, f.cargo, f.salario, t.idtelfunc ,t.fixo , t.cel , e.idendfunc, m.idemailfunc ");
	sql.append("FROM funcionario f ");
	sql.append("INNER JOIN telfunc t ON f.idtelfunc = t.idtelfunc ");
	sql.append("INNER JOIN endfunc e ON f.idendfunc = e.idendfunc ");
	sql.append("INNER JOIN emailfunc m ON f.idemailfunc = m.idemailfunc ");

	
	
    Connection conexao = Conexaofactory.conectar();
	
    PreparedStatement comando = conexao.prepareStatement(sql.toString());

	ResultSet resultado = comando.executeQuery();

	
     ArrayList<Funcionario>lista = new ArrayList<Funcionario>();
	
	 while(resultado.next()){
		
		 Telfunc t = new Telfunc();
	     t.setFixo(resultado.getString("t.fixo"));
	     t.setCel (resultado.getString("t.cel"));
	    
	     EndFunc e = new EndFunc() ;
	     e.setCidade (resultado.getString("e.idendfunc"));
	     e.setPais(resultado.getString("e.idendfunc"));
	     e.setQd  (resultado.getString("e.idendfunc"));
	     e.setRua(resultado.getString("e.idendfunc"));
	     e.setSetor (resultado.getString("e.idendfunc"));
	    
	     
	     
	     Emailfunc m = new Emailfunc();
	     m.setDescricao(resultado.getString("m.idemailfunc"));
	     
	  
		Funcionario f = new Funcionario();			
	
		f.setNome   (resultado.getString("nome")) ;
		f.setRg     (resultado.getString("rg")) ;
		f.setCpf    (resultado.getString("cpf")) ;
		f.setSexo   (resultado.getString("sexo")) ;
		f.setEstciv (resultado.getString("estciv")) ;
		f.setNomepai (resultado.getString("nomepai")) ;
		f.setNomemae (resultado.getString("nomemae")) ;
		f.setCertmilitar (resultado.getString("certmilitar")) ;
		f.setTiteleitor  (resultado.getString("titeleitor")) ;
		f.setCnh (resultado.getString("cnh")) ;
		f.setCatcnh (resultado.getString("catcnh")) ;
		f.setPis (resultado.getString("pis")) ;
		
		
		 String dia  = f.getDtingresso().toString().substring(0, 2);
		    String mes  = f.getDtingresso().toString().substring(3, 5);
		    String ano  = f.getDtingresso().toString().substring(6);
		    String  dataParaMySQL = ano+"-"+mes+"-"+dia;
			comando.setString (13, dataParaMySQL ); 
		
		f.setDtingresso(resultado.getDate("dtingresso")) ;
		f.setDtdesligamento (resultado.getDate("dtDesligamento")) ;
		f.setDtnascimento  (resultado.getDate ("dtnascimento")) ;
		
		
		
		f.setCargo (resultado.getString("cargo")) ;
		f.setSalario (resultado.getDouble("salario")) ;
		f.setTelfunc(t);
		f.setEndfunc(e);
		f.setEmailfunc(m);
		
		lista.add(f);
		
	
	 }
  return lista;
	 }

    public void editar (Funcionario f) throws SQLException {
	
	
	StringBuilder sql = new StringBuilder();
	
	sql.append("UPDATE funcionario ");
	sql.append("SET  nome = ?, rg = ?, cpf = ?, sexo = ?, estciv = ?, nomepai = ?, nomemae = ?, certmilitar = ?, titeleitor = ?, cnh = ?, catcnh = ?, pis = ?, dtingresso = ?, dtdesligamento = ?, dtnascimento = ?, cargo = ?, salario = ?, idtelfunc = ?, idendfunc = ?, idemailfunc = ? ");
	sql.append("WHERE idfunc = ? , ? , ? ,? , ? , ? , ? , ? , ? , ? , ? , ? ,? , ? , ? , ? , ? , ? , ? , ?");
	
	
    Connection conexao = Conexaofactory.conectar();
	
	PreparedStatement comando = conexao.prepareStatement(sql.toString());
	
	comando.setString (1, f.getNome());
	comando.setString (2, f.getRg());
	comando.setString (3, f.getCpf());
	comando.setString (4, f.getSexo());
	comando.setString (5, f.getEstciv());
	comando.setString (6, f.getNomepai());
	comando.setString (7, f.getNomemae());
	comando.setString (8, f.getCertmilitar());
	comando.setString (9, f.getTiteleitor());
	comando.setString (10, f.getCnh());
	comando.setString (11, f.getCatcnh());
	comando.setString (12, f.getPis());
	 
    String dia  = f.getDtingresso().toString().substring(0, 2);
    String mes  = f.getDtingresso().toString().substring(3, 5);
    String ano  = f.getDtingresso().toString().substring(6);
    String  dataParaMySQL = ano+"-"+mes+"-"+dia;
	comando.setString (13, dataParaMySQL ); 
	
	
	String dia2  = f.getDtdesligamento().toString().substring(0, 2);
    String mes2 = f.getDtdesligamento().toString().substring(3, 5);
    String ano2  = f.getDtdesligamento().toString().substring(6);
    String  dataParaMySQL2 = ano2+"-"+mes2+"-"+dia2;
	comando.setString (14, dataParaMySQL2 ); 
	
	comando.setDate   (15, (java.sql.Date) f.getDtnascimento());
	comando.setString (16, f.getCargo());
	comando.setDouble (17, f.getSalario());
	comando.setInt    (18, f.getTelfunc().getIdtelfunc());
	comando.setInt    (19, f.getEndfunc().getIdendfunc());
	comando.setInt    (20, f.getEmailfunc().getIdmailfunc());
	
	
	comando.executeUpdate();
	

	
	
}

public Funcionario buscaporcodigo(Funcionario f) throws SQLException {

StringBuilder sql = new StringBuilder();
sql.append(" SELECT  idfunc , nome, rg, cpf, sexo, estciv, nomepai, nomemae, certmilitar, titeleitor, cnh, catcnh, pis, dtingresso, dtdesligamento, dtnascimento, cargo, salario " );
sql.append("FROM  funcionario ");
sql.append("WHERE idfunc = ?");




Connection conexao = Conexaofactory.conectar();

PreparedStatement comando = conexao.prepareStatement(sql.toString());

comando.setInt  (1, f.getIdfunc());

ResultSet resultado = comando.executeQuery();
Funcionario retorno  = null ;

if (resultado.next()) {
	retorno = new Funcionario();
	
	retorno.setIdfunc (resultado.getInt("idfunc"));
	retorno.setNome  (resultado.getString("nome"));
	retorno.setRg    (resultado.getString("rg"));
	retorno.setCpf   (resultado.getString("cpf"));
	retorno.setSexo  (resultado.getString("sexo"));
}


return retorno;

}
public ArrayListbuscarpornome(Funcionario f)throws SQLException {

StringBuilder sql = new StringBuilder();
	sql.append("SELECT  idfunc , nome, rg, cpf, sexo, estciv, nomepai, nomemae, certmilitar, titeleitor, cnh, catcnh, pis, dtingresso, dtdesligamento, dtnascimento, cargo, salario  ");
	sql.append("FROM  nome ");
	sql.append("WHERE nome LIKE ? ");

	
    Connection conexao = Conexaofactory.conectar();
	
    PreparedStatement comando = conexao.prepareStatement(sql.toString());
    
    comando.setString(1,"%" + f.getNome() + "%");
	
	ResultSet resultado = comando.executeQuery();
   
	ArrayList<Funcionario>lista = new ArrayList<Funcionario>();
	
	    while(resultado.next()){
		Funcionario item = new Funcionario();
		f.setIdfunc(resultado.getInt("idfunc")) ;
		f.setNome (resultado.getString("nome")) ;
		f.setRg   (resultado.getString("rg")) ;
		f.setCpf  (resultado.getString("cpf")) ;
		f.setSexo (resultado.getString("sexo")) ;
		

	

		
		lista.add(item);
	}
	
  return lista;
	
	
}

}

BEAN

@ManagedBean (name= “MBFuncionario”)
@ViewScoped

public class FuncionarioBean {

private ArrayList <Funcionario> itens;
private ArrayList <Funcionario> itensfiltrados;
private Funcionario funcionario;



@PostConstruct

public void PrepararPesquisa () {

   try {
		   FuncionarioDao fdao = new FuncionarioDao();
		 itens = fdao.listar();
		 JSFUtil.adicionarMensagemErro("Ex.getMessage()");
	} catch (SQLException e) {
		
		e.printStackTrace();
	}
    
 

}

   public void prepararnovo() {
	 funcionario = new Funcionario();
    	   
   }
   
     
   
  public void novo() {
      
  try {
    	 
    	 
	    FuncionarioDao fdao = new FuncionarioDao();
		fdao.salvar(funcionario);
		
		itens = fdao.listar();
		  JSFUtil.adicionarMensagemSucesso("Salvo com Sucesso");
    	
		
	} catch (SQLException e) {
		 
		JSFUtil.adicionarMensagemErro("Ex.getMessage()");
		
		e.printStackTrace();
	}  

     
   }
   
     public void excluir () {
		   
		   try {
		    	 
		    	FuncionarioDao fdao = new FuncionarioDao();
				fdao.excluir(funcionario);
				
				itens = fdao.listar();
	         
	            
	            JSFUtil.adicionarMensagemSucesso("Exclusão realizada com sucesso");
				
			} catch (SQLException e) {
			
				JSFUtil.adicionarMensagemErro("Ex.getMessage()");
				e.printStackTrace();
			}	   
		  
	
	   }
     
      public void editar () {
		   
		   try {
		    	 
		    	FuncionarioDao fdao = new FuncionarioDao();
				fdao.editar(funcionario);
				
				itens = fdao.listar();
	            
	            
	            JSFUtil.adicionarMensagemSucesso("Edição realizada com sucesso");
				
			} catch (SQLException e) {
				JSFUtil.adicionarMensagemErro("Edição realizada com sucesso)");
				e.printStackTrace();
			}	
		   
      }
		  
      
		   public void onDateSelect(SelectEvent event) {
			
		        FacesContext facesContext = FacesContext.getCurrentInstance();
		        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
		
		        facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Date Selected", format.format(event.getObject())));
		    }
		     
		    public void click() throws SQLException {
                
		    	
		    	    
		        PrimeFaces.current().executeScript("PF('dlgfuneditar').close()");
		        PrimeFaces.current().ajax().update("frmfunnovo:pnfunnovo");
		        
		        FuncionarioDao fdao = new FuncionarioDao();
				fdao.editar(funcionario);
				
				itens = fdao.listar();
		        
		       
		        
		    }
public ArrayList getItens() {

return itens;

}

public void setItens(ArrayList itens) {

this.itens = itens;

}

public ArrayList getItensfiltrados() {

return itensfiltrados;

}

public void setItensfiltrados(ArrayList itensfiltrados) {

this.itensfiltrados = itensfiltrados;

}

public Funcionario getFuncionario() {

return funcionario;

}

public void setFuncionario(Funcionario funcionario) {

this.funcionario = funcionario;

}

}

CLASSE FUNCIONARIO

public class Funcionario {

private int idfunc ;

private String nome ;

private String rg;

private String cpf;

private String sexo;

private String estciv;

private String nomepai;

private String nomemae;

private String certmilitar;

private String titeleitor;

private String cnh;

private String catcnh;

private String pis;

private java.sql.Date dtingresso;

private java.sql.Date dtdesligamento;

private java.sql.Date dtnascimento;

private String cargo;

private Double salario;

private Emailfunc emailfunc;

private Telfunc telfunc;

private EndFunc endfunc;
public int getIdfunc() {
	return idfunc;
}
public void setIdfunc(int idfunc) {
	this.idfunc = idfunc;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getRg() {
	return rg;
}
public void setRg(String rg) {
	this.rg = rg;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}
public String getSexo() {
	return sexo;
}
public void setSexo(String sexo) {
	this.sexo = sexo;
}
public String getEstciv() {
	return estciv;
}
public void setEstciv(String estciv) {
	this.estciv = estciv;
}
public String getNomepai() {
	return nomepai;
}
public void setNomepai(String nomepai) {
	this.nomepai = nomepai;
}
public String getNomemae() {
	return nomemae;
}
public void setNomemae(String nomemae) {
	this.nomemae = nomemae;
}
public String getCertmilitar() {
	return certmilitar;
}
public void setCertmilitar(String certmilitar) {
	this.certmilitar = certmilitar;
}
public String getTiteleitor() {
	return titeleitor;
}
public void setTiteleitor(String titeleitor) {
	this.titeleitor = titeleitor;
}
public String getCnh() {
	return cnh;
}
public void setCnh(String cnh) {
	this.cnh = cnh;
}
public String getCatcnh() {
	return catcnh;
}
public void setCatcnh(String catcnh) {
	this.catcnh = catcnh;
}
public String getPis() {
	return pis;
}
public void setPis(String pis) {
	this.pis = pis;
}
public java.sql.Date getDtingresso() {
	return dtingresso;
}
public void setDtingresso(java.sql.Date dtingresso) {
	this.dtingresso = dtingresso;
}
public java.sql.Date getDtdesligamento() {
	return dtdesligamento;
}
public void setDtdesligamento(java.sql.Date dtdesligamento) {
	this.dtdesligamento = dtdesligamento;
}
public java.sql.Date getDtnascimento() {
	return dtnascimento;
}
public void setDtnascimento(java.sql.Date dtnascimento) {
	this.dtnascimento = dtnascimento;
}
public String getCargo() {
	return cargo;
}
public void setCargo(String cargo) {
	this.cargo = cargo;
}
public Double getSalario() {
	return salario;
}
public void setSalario(Double salario) {
	this.salario = salario;
}
public Emailfunc getEmailfunc() {
	return emailfunc;
}
public void setEmailfunc(Emailfunc emailfunc) {
	this.emailfunc = emailfunc;
}
public Telfunc getTelfunc() {
	return telfunc;
}
public void setTelfunc(Telfunc telfunc) {
	this.telfunc = telfunc;
}
public EndFunc getEndfunc() {
	return endfunc;
}
public void setEndfunc(EndFunc endfunc) {
	this.endfunc = endfunc;
}

}

Front

<?xml version="1.0" encoding="ISO-8859-1" ?>

<ui:composition

xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:f=“http://java.sun.com/jsf/core
xmlns:p=“http://primefaces.org/ui
xmlns:ui=“http://java.sun.com/jsf/facelets
template="/templates/Template.xhtml"

<ui:define name=“conteudo3”>

<h:outputText value="Bem vindo pesquisa de dados"/> 
  
  
   <title></title>
   
   
   <h:form id="frmfuncionario" >
   
          <p:toolbar>
        <f:facet name="left">
            <h:outputText value="Pesquisa Funcionario"/>
        </f:facet>
        
        
    </p:toolbar>
    <h:panelGrid columns="4">
    <p:outputLabel value="Descrição : " />
    <p:inputText maxlength="50" size="30"/>    
    <p:commandButton  value="Busca" filterBy="#{item.nome}" />
    <p:commandButton value="Novo"  actionListener="#{MBFuncionario.prepararnovo}" 
    update=":frmfunnovo:pnfunnovo" oncomplete="PF('dlgfunNovo').show();"/>

  
    </h:panelGrid>
        
        
    
    
    <p:dataTable  id="tbfuncionario"   emptyMessage="Nenhum registro encontrado" value="#{MBFuncionario.itens}"
                 var="item"
                 filteredValue="#{MBFuncionario.itensfiltrados}"
                 paginator="true"
                 rows="10"
                 widgetVar="tabelafuncionario"
                 >
                 
                 
                
        
        <p:column headerText="Busca pelo nome" filterBy="#{item.nome}" sortBy="#{item.nome}" >
            <h:outputText value="#{item.nome}"/>
           
        </p:column>

        <p:column headerText="rg">
            <h:outputText value="#{item.rg}"/>
        </p:column>

        <p:column headerText="cpf">
            <h:outputText value="#{item.cpf}"/>
        </p:column>
        
        
        <p:column headerText="sexo">
            <h:outputText value="#{item.sexo}"/>
        </p:column>
        
          <p:column headerText="estado civil">
             <h:outputText value="#{item.estciv}"/>
        </p:column>
        
        
         <p:column headerText="pai">
             <h:outputText value="#{item.nomepai}"/>
        </p:column>
        
        
         <p:column headerText="mae">
             <h:outputText value="#{item.nomemae}"/>
        </p:column>
        
         <p:column headerText="certidao Militar">
             <h:outputText value="#{item.certmilitar}"/>
        </p:column>
        
        
         <p:column headerText="titulo eleitor">
             <h:outputText value="#{item.titeleitor}"/>
        </p:column>
        
         <p:column headerText="cnh">
             <h:outputText value="#{item.cnh}"/>
        </p:column>
        
          <p:column headerText="catcnh">
            <h:outputText value="#{item.catcnh}"/>
        </p:column>
        
         <p:column headerText="pis">
             <h:outputText value="#{item.pis}"/>
        </p:column>
         
         <p:column headerText="Data de ingresso">
             <h:outputText value="#{item.dtingresso}"/>
        </p:column>
         
         <p:column headerText="Data de Desligamento">
             <h:outputText value="#{item.dtdesligamento}"/>
        </p:column>
         
         <p:column headerText="Data de Nascimento">
             <h:outputText value="#{item.dtnascimento}"/>
        </p:column>
        
         <p:column headerText="cargo">
             <h:outputText value="#{item.cargo}"/>
        </p:column>
          
           <p:column headerText="salario">
             <h:outputText value="#{item.salario}"/>
        </p:column>
          
        <p:column headerText="Opções">
         
         <p:commandButton icon="ui-icon-trash"  
         update=":formexcluir:pnfunExcluir" oncomplete="PF('dlgfunexcluir').show();" >
         
         <f:setPropertyActionListener value="#{item}" target="#{MBFuncionario.funcionario}"></f:setPropertyActionListener>
         
         
         </p:commandButton>
    
           <p:commandButton icon="ui-icon-pencil" update=":formeditar:pnfuneditar" oncomplete="PF('dlgfuneditar').show();">
      
         <f:setPropertyActionListener value="#{item}" target="#{MBFuncionario.funcionario}"></f:setPropertyActionListener>
         
         </p:commandButton>
        
    
        </p:column>
        
    </p:dataTable>
   
    
   
   </h:form>


   
   
  <p:dialog widgetVar="dlgfunNovo"  closable="false" draggable="false" resizable="false" 
   header="Cadastro de Funcionario"
    modal="true"
    appendTo="@(body)">
  
   <h:form id="frmfunnovo">
   
   
   <p:panelGrid  id="pnfunnovo" columns="4">
   
   <h:outputLabel value="Nome :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.nome}"  />
   
   <h:outputLabel value=" Rg :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.rg}"/>
   
   <h:outputLabel value=" cpf :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.cpf}"/>
   
   <h:outputLabel value="sexo :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.sexo}"/>
   
     <h:outputLabel value="Estado Civil:" />
    <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.estciv}"/>
   
   <h:outputLabel value="Nome pai:" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.nomepai}"/>
   
   <h:outputLabel value="Nome mae:" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.nomemae}"/>
   
   
   <h:outputLabel value="Certidao Militar:" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.certmilitar}"/>
   
   <h:outputLabel value="Titulo de eleitor :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.titeleitor}"/>
   
   
   <h:outputLabel value="Cnh :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.cnh}"/>
   
   
   <h:outputLabel value="Categoria Cnh :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.catcnh}"/>
   
   
   <h:outputLabel value=" Pis :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.pis}"/>
    
   
      <h:outputLabel value=" Data Ingresso :" />
     <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.dtingresso}"/>
     
   
   
      <h:outputLabel value=" Data Desligamento :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.dtdesligamento}"/>
  
   
   
      <h:outputLabel value=" Data Nascimento:" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.dtnascimento}"/>
    
     
    <h:outputLabel value=" Cargo :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.cargo}"/>
   
     
   <h:outputLabel value=" Salario :" />
   <h:inputText size="30" maxlength="30"  value="#{MBFuncionario.funcionario.salario}"/>
    
     </p:panelGrid>
   
  </h:form>
   
    <p:panelGrid columns="2">
   
    <p:commandButton value="Salvar" actionListener="#{MBFuncionario.novo}"   oncomplete="PF('dlgfunNovo').hide();  tabelafuncionario.clearfilters()"  update=":frmfuncionario:tbfuncionario :msgGlobal" />
    <p:commandButton value="Cancelar" onclick="PF('dlgfunNovo').hide();" />
     
     </p:panelGrid>
   
   
 
   
</p:dialog>
   
   
<p:dialog widgetVar="dlgfunexcluir"  closable="false" draggable="false" resizable="false" header="Excluir Funcionario"
    modal="true"
   appendTo="@(body)">
  
   <h:form id="formexcluir">
   
   <h:panelGrid id="pnfunExcluir" columns="4">
   <h:outputText value="Codigo :" />
   <h:outputText value="#{MBFuncionario.funcionario.idfunc}" />
   <h:outputText value="Nome :" />
   <h:outputText value="#{MBFuncionario.funcionario.nome}" />
   <h:outputText value="Rg :" />
   <h:outputText value="#{MBFuncionario.funcionario.rg}" />
   <h:outputText value="Cpf :" />
   <h:outputText value="#{MBFuncionario.funcionario.cpf}" />
   <h:outputText value=" Sexo :" />
   <h:outputText value="#{MBFuncionario.funcionario.sexo}" />
    <h:outputText value=" Estado Civil :" />
    <h:outputText value="#{MBFuncionario.funcionario.estciv}" />
     <h:outputText value=" Nome Pai  :" />
    <h:outputText value="#{MBFuncionario.funcionario.nomepai}" />
     <h:outputText value=" Nome mae:" />
    <h:outputText value="#{MBFuncionario.funcionario.nomemae}" />
     <h:outputText value=" Certidao Militar :" />
    <h:outputText value="#{MBFuncionario.funcionario.certmilitar}" />
    <h:outputText value=" Titulo de Eleitor :" />
    <h:outputText value="#{MBFuncionario.funcionario.titeleitor}" />
    <h:outputText value=" Cnh :" />
    <h:outputText value="#{MBFuncionario.funcionario.cnh}" />
    
    <h:outputText value=" Categoria Cnh :" />
    <h:outputText value="#{MBFuncionario.funcionario.catcnh}" />
    
    <h:outputText value=" Pis :" />
    <h:outputText value="#{MBFuncionario.funcionario.pis}" />
    
    <h:outputText value=" Data ingresso :" />
    <h:outputText value="#{MBFuncionario.funcionario.dtingresso}" />
    
    <h:outputText value=" Data Desligamento :" />
    <h:outputText value="#{MBFuncionario.funcionario.dtdesligamento}" />
    
    <h:outputText value=" Data Nascimento :" />
    <h:outputText value="#{MBFuncionario.funcionario.dtnascimento}" />
    
    <h:outputText value=" Cargo :" />
    <h:outputText value="#{MBFuncionario.funcionario.cargo}" />
    
    
    <h:outputText value=" Salario :" />
    <h:outputText value="#{MBFuncionario.funcionario.salario}" />
    
   </h:panelGrid>
   
   <h:panelGrid columns="2">
     
     <h:commandButton value="Excluir"  actionListener="#{MBFuncionario.excluir}" oncomplete="PF('dlgfunexcluir').hide(); tabelafuncionario.clearfilters()" update=":frmfuncionario:tbfuncionario :msgGlobal" />
   <h:commandButton value="Cancelar" onclick="PF('dlgfunexcluir').hide();" />
   
   
   </h:panelGrid>
   
   
   </h:form>
  
   
   </p:dialog>
   
   
   
   
   
   <p:dialog widgetVar="dlgfuneditar"  closable="false" draggable="false" resizable="false" header="Editar Funcionario"
    modal="true"
   appendTo="@(body)">
  
   <h:form id="formeditar">
   
   <h:panelGrid id="pnfuneditar" columns="4">
   
   <h:outputText value="Codigo :" />
   <h:outputText value="#{MBFuncionario.funcionario.idfunc}" />
   
   <h:outputText value="Nome :" />
   <h:inputText value="#{MBFuncionario.funcionario.nome}" />
   <h:outputText value="Rg :" />
   <h:inputText value="#{MBFuncionario.funcionario.rg}" />
   <h:outputText value="Cpf :" />
   <h:inputText value="#{MBFuncionario.funcionario.cpf}" />
   <h:outputText value=" Sexo :" />
   <h:inputText value="#{MBFuncionario.funcionario.sexo}" />
   <h:outputText value=" Estado Civil :" />
   <h:inputText value="#{MBFuncionario.funcionario.estciv}" />
   <h:outputText value=" Nome Pai  :" />
   <h:inputText value="#{MBFuncionario.funcionario.nomepai}" />
   <h:outputText value=" Nome mae:" />
   <h:inputText value="#{MBFuncionario.funcionario.nomemae}" />
   <h:outputText value=" Certidao Militar :" />
   <h:inputText value="#{MBFuncionario.funcionario.certmilitar}" />
   <h:outputText value=" Titulo de Eleitor :" />
   <h:inputText value="#{MBFuncionario.funcionario.titeleitor}" />
   <h:outputText value=" Cnh :" />
   <h:inputText value="#{MBFuncionario.funcionario.cnh}" />
    
   <h:outputText value=" Categoria Cnh :" />
   <h:inputText value="#{MBFuncionario.funcionario.catcnh}" />
    
   <h:outputText value=" Pis :" />
   <h:inputText value="#{MBFuncionario.funcionario.pis}" />
   
   
   
   <h:outputText value="data ingresso :" />
        <h:inputText value="#{MBFuncionario.funcionario.dtingresso}">
           
        </h:inputText>
    
   <h:outputText value=" Data Desligamento :" />
   <h:inputText value="#{MBFuncionario.funcionario.dtdesligamento}">
   
    </h:inputText>
    
   <h:outputText value=" Data Nascimento :" />
   <h:inputText value="#{MBFuncionario.funcionario.dtnascimento}" >
   
    </h:inputText>
    
   <h:outputText value=" Cargo :" />
   <h:inputText value="#{MBFuncionario.funcionario.cargo}" />
    
    
   <h:outputText value=" Salario :" />
   <h:inputText value="#{MBFuncionario.funcionario.salario}" />
        
   </h:panelGrid>
   
   <h:panelGrid columns="2">
     
     <h:commandButton value="editar"  actionListener="#{MBFuncionario.editar}"  oncomplete="PF('dlgcareditar').hide(); tabelafuncionario.clearfilters()" update=":frmfuncionario:tbfuncionario :msgGlobal" />
     <h:commandButton value="Cancelar" onclick="PF('dlgfuneditar').hide();" />
   
   
   </h:panelGrid>
   
   
   </h:form>
  
   
   </p:dialog>
   
   
  
   
     </ui:define> 
          </ui:composition>

6 Respostas

D

Vamos por partes.
Primeiro, você tem, na classe Funcionario

Estes caras, preferencialmente, não deveriam ser java.sql.Date. Talvez java.util.Date ou, mais aderente ao java 8 e novas versões, LocalDate.

Você deve realizar a conversão na hora de inserir no banco.

Outro ponto é, em que momento esta exceção está sendo lançada? Não consegui identificar no código.

L

Então fiz alteração solicitada para Date na classe Funcionario .

Estou tentanto fazer a conversação no metodo editar Dao e mandando de forma separada mesmo assim
apresenta erro ,

String dia = f.getDtingresso().toString().substring(0, 2);

String mes = f.getDtingresso().toString().substring(3, 5);

String ano = f.getDtingresso().toString().substring(6);

String dataParaMySQL = ano+"-"+mes+"-"+dia;

comando.setString (13, dataParaMySQL );

Como posso usar o } catch (SQLException e) { para descobrir o momento do erro .

D

Não precisa de nada disso

Use o setDate mesmo

comando.setDate(13, new java.sql.Date(f.getDtingresso().getTime());

Basta você colocar uma mensagem distinta, como o nome do método em que o problema ocorre, por exemplo.

L

Realizei as alterações sem sucesso acha necessario alterar algo no Dao ?

public void editar () {

try {
	    	 
	    	FuncionarioDao fdao = new FuncionarioDao();
			fdao.editar(funcionario);
			
			itens = fdao.listar();
            
            
            JSFUtil.adicionarMensagemSucesso("Edição realizada com sucesso");
			
		} catch (SQLException e) {
			JSFUtil.adicionarMensagemErro("Edição realizada com sucesso)");
			e.printStackTrace();
		}
D

Sem sucesso = ???

L

Para listar e editar consegui , mais meu salvar da mesmo problema por conta das chaves estrangeiras , nao salva e fala de falha na conversao .

Criado 30 de maio de 2018
Ultima resposta 3 de jun. de 2018
Respostas 6
Participantes 2