Bom dia Pessoal!
Sou novato no desenvolvimento java e gostaria de uma ajudinha de vocês. Criei um formulário de cadastro de funcionários, e nele cadastrei varias datas (Dt Nascimento, Admissao, Dt Resgistro, Dt Encerramento), porém, quando preencho os dados e clico no botão salvar, me é apresentado o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:143)
at IntefaceGrafica.FormCadastroFuncionarios.jButtonSalvarActionPerformed(FormCadastroFuncionarios.java:965)
at IntefaceGrafica.FormCadastroFuncionarios.access$200(FormCadastroFuncionarios.java:21)
at IntefaceGrafica.FormCadastroFuncionarios$3.actionPerformed(FormCadastroFuncionarios.java:608)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
No meu código criei uma classe de controle de funcionários que é responsável pela inserção dos dados:
public class ControleFuncionarios {
ConectaBanco connFunc = new ConectaBanco();
ConectaBanco connDate = new ConectaBanco();
public void InserirFuncioanrios(ModeloFuncionarios modFunc) {
connFunc.conexao();
try {
PreparedStatement pst = connFunc.conn.prepareCall("insert into [Cadastro de Funcionários](REG,cod,FUNÇÃO,SETOR,CENTRO DE CUSTO,"
+ "SEXO,DATA NASCIMENTO,TURNO,DEMITIDO,NOME,ADMISSÃO,NumContaSal,Agbb,CodBanco,DtAbertura,DtEncerramento,DEMISSAO,"
+ "CPF,IDENTIDADE,Ctps,Serie,PIS,Registro,Livro,DtRegistro,Empresa,Endereço,Bairro,Cidade,Cep,CodEscolaridade,Telefone Contato,"
+ "Contato Extra,Observações)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
pst.setInt(1,modFunc.getCod()); //Reg
pst.setInt(2, modFunc.getCodGeral());
pst.setInt(3,modFunc.getCodFuncao());
pst.setInt(4,modFunc.getCodSetor());
pst.setShort(5,modFunc.getCodCentroDeCusto());
pst.setString(6,modFunc.getSexo());
if(modFunc.getDataNascimento() != null) {
java.sql.Date Nascimento = new java.sql.Date(modFunc.getDataNascimento().getTime());
pst.setDate(7, Nascimento);
} else {
// pst.setNull(7, Types.DATE);
JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Nascimento!");
}
// pst.setDate(7,modFunc.getDataNascimento());
pst.setString(8,modFunc.getTurno());
pst.setBoolean(9, modFunc.getDemitido());
pst.setString(10, modFunc.getNome());
if(modFunc.getAdmissao() != null) {
java.sql.Date Admissão = new java.sql.Date(modFunc.getAdmissao().getTime());
pst.setDate(11, Admissão);
} else {
// pst.setNull(11, Types.DATE);
JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Admissão!");
}
// pst.setDate(11,modFunc.getAdmissao());
pst.setString(12,modFunc.getNumConaSal());
pst.setString(13,modFunc.getAgbb());
pst.setInt(14,modFunc.getCodBanco());
if(modFunc.getDtAbertura()!= null) {
java.sql.Date DtAbetura = new java.sql.Date(modFunc.getDtAbertura().getTime());
pst.setDate(11, DtAbetura);
} else {
// pst.setNull(15, Types.DATE);
JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Abertura!");
}
// pst.setDate(15,modFunc.getDtAbertura());
if(modFunc.getDtencerramento()!= null) {
java.sql.Date DtEncerramento = new java.sql.Date(modFunc.getDtencerramento().getTime());
pst.setDate(11, DtEncerramento);
} else {
pst.setNull(16, Types.DATE);
// JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Encerramento!");
}
// pst.setDate(16,modFunc.getDtencerramento());
if(modFunc.getDtDemissao()!= null) {
java.sql.Date DtDemissao = new java.sql.Date(modFunc.getDtDemissao().getTime());
pst.setDate(11, DtDemissao);
} else {
pst.setNull(17, Types.DATE);
// JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Demissão!");
}
// pst.setDate(17,modFunc.getDtDemissao());
pst.setString(18,modFunc.getCpf());
pst.setString(19,modFunc.getIdentidade());
pst.setString(20,modFunc.getCtps());
pst.setString(21,modFunc.getSerie_Ctps());
pst.setString(22,modFunc.getPis());
pst.setString(23,modFunc.getRegistro());
pst.setString(24,modFunc.getLivro());
if(modFunc.getDtRegistro()!= null) {
java.sql.Date DtRegistro = new java.sql.Date(modFunc.getDtRegistro().getTime());
pst.setDate(11, DtRegistro);
} else {
// pst.setNull(25, Types.DATE);
JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Registro!");
}
// pst.setDate(25,modFunc.getDtRegistro());
pst.setString(26,modFunc.getEmpresa());
pst.setString(27,modFunc.getEndereco());
pst.setString(28,modFunc.getBairro());
pst.setString(29,modFunc.getCidade());
pst.setString(30,modFunc.getCep());
pst.setInt(31,modFunc.getCodEscolaridade());
pst.setString(32,modFunc.getTelContato());
pst.setString(33,modFunc.getContatoExtra());
pst.setString(34,modFunc.getObservacoes());
pst.execute();
JOptionPane.showMessageDialog(null,"Dados armazenados com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro na inserção dos dados. \nErro!"+ ex);
connFunc.desconecta();
}
}
Esse é o código do botão salvar:
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
modFunc.setCod(Integer.parseInt(jTextFieldNCracha.getText()));
connFuncao.executaSQL("Select * from CadFunçao where Funçao='" + jComboBoxFuncao.getSelectedItem()+"'");
connFuncao.rs.first();
modFunc.setCodFuncao(connFuncao.rs.getInt("CodFunçao"));
connSetor.executaSQL("Select * from CadSetor where Setor='" + jComboBoxSetor.getSelectedItem() +"'");
connSetor.rs.first();
modFunc.setCodSetor((connSetor.rs.getInt("CodSetor")));
connCentroCusto.executaSQL("select * from CadCentroDeCustoFunc where CentroDeCustoFunc='" + jComboBoxCentroDeCusto.getSelectedItem()+"'");
connCentroCusto.rs.first();
modFunc.setCodCentroDeCusto(connCentroCusto.rs.getShort("CodCentroDeCustoFunc"));
connFuncionario.executaSQL("select * from [Cadastro de Funcionários] where SEXO='" + jComboBoxSexo.getSelectedItem()+"'");
connFuncionario.rs.first();
modFunc.setSexo(connFuncionario.rs.getString("Sexo"));
modFunc.setDataNascimento(Date.valueOf(jTextFieldDataNascimento.getText()));
modFunc.setDtAbertura(Date.valueOf(jTextFieldDtAbertura.getText()));
modFunc.setTurno(connFuncionario.rs.getString("TURNO"));
modFunc.setDemitido(connFuncionario.rs.getBoolean("DEMITIDO"));
modFunc.setNome(connFuncionario.rs.getString("NOME"));
modFunc.setAdmissao(Date.valueOf(jTextFieldEntrevista.getText()));
modFunc.setNumConaSal(connFuncionario.rs.getString("NumContaSal"));
modFunc.setAgbb(connFuncionario.rs.getString("AgBB"));
modFunc.setDtencerramento(Date.valueOf(jTextFieldDtEncerramento.getText()));
modFunc.setDtDemissao(Date.valueOf(jTextFieldDtDemissao.getText()));
modFunc.setCpf(connFuncionario.rs.getString("CPF"));
modFunc.setIdentidade(connFuncionario.rs.getString("IDENTIDADE"));
modFunc.setCtps(connFuncionario.rs.getString("CTPS"));
modFunc.setSerie_Ctps(connFuncionario.rs.getString("Serie"));
modFunc.setPis(connFuncionario.rs.getString("PIS"));
modFunc.setRegistro(connFuncionario.rs.getString("Registro"));
modFunc.setLivro(connFuncionario.rs.getString("Livro"));
modFunc.setDtRegistro(Date.valueOf(jTextFieldDtRegistro.getText()));
modFunc.setEmpresa(connFuncionario.rs.getString("Empresa"));
modFunc.setEmpresa(connFuncionario.rs.getString("ENDEREÇO"));
modFunc.setCodGeral(connFuncionario.rs.getInt("Cod"));
modFunc.setBairro(connFuncionario.rs.getString("BAIRRO"));
modFunc.setCidade(connFuncionario.rs.getString("CIDADE"));
modFunc.setCep(connFuncionario.rs.getString("CEP"));
connEscolaridade.executaSQL("select * from CadFuncEscolarid where Escolaridade="+connFuncionario.rs.getInt("CodEscolarid"));
connEscolaridade.rs.previous();
modFunc.setEscolaridadeLink(connEscolaridade.rs.getString("CodEscolarid"));
modFunc.setTelContato(connFuncionario.rs.getString("TELEFONE CONTATO"));
modFunc.setContatoExtra(connFuncionario.rs.getString("CONTATO EXTRA"));
modFunc.setObservacoes(connFuncionario.rs.getString("OBSERVAÇÕES"));
Control.InserirFuncioanrios(modFunc);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(rootPane,"Funcionário cadastrado com sucesso!");
}
}
Quando executo o formulário e clico em salvar o erro é indicado nesta linha, porem já não sei mais o que fazer. Por isso peço a ajuda de vocês.
Linha 965 = modFunc.setDataNascimento(Date.valueOf(jTextFieldDataNascimento.getText()));
Linha 142 = if (d == null) {
Linha 143 = throw new java.lang.IllegalArgumentException();
}
Linha 146 = return d;
Muito obrigado!