[RESOLVIDO]problema com lógica em campos date

0 respostas
M

Boa tarde GUJ'ers!

Tenho uma classe responsável por fazer a inserção de alguns campos em um banco de dados mySQL. até ai tudo bem. porém, alguns dados são datas. eu já consegui fazer a conversão e etc. mas na hora de inserir no banco, essas datas dão um erro estranho.

lembrando que um dos campos é opcional (demissao), e os outros dois são obrigatórios (nascimento e admissão). eu tou usando um if pra detectar o place holder da máscara, caso nenhum place holder seja encontrado, ele faz a conversão e inserção, caso contrário, insere null como valor padrão.

bom, ali vai o código
private void inserir()
	{	
		try {
		String strnome = jtf_nome.getText();
		String strcart = jtf_carteira.getText();
		String strrg = jtf_rg.getText();
		String strcpf = jtf_cpf.getText();
		String strendereco = jtf_endereco.getText();
		String strbairro = jtf_bairro.getText();
		String strtelefone = jtf_telefone.getText();
		String strcell = jtf_celular.getText();
		String stremail = jtf_email.getText();
		String strfuncao = jtf_funcao.getText();
		int idhorario = jcb_horarios.getSelectedIndex();
		String strobs = jta_obs.getText();
		
		DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
		String datanas = jft_nascimento.getText();
		String dataadm = jft_admissao.getText();
		String datadem = jft_demissao.getText();
		System.out.println(datanas);
		java.sql.Date bd_dt_nasc = null;
		java.sql.Date bd_dt_admi = null;
		java.sql.Date bd_dt_demi = null;
		if(!(datanas.contains("_"))) {
			bd_dt_nasc = new java.sql.Date(format.parse(datadem).getTime());
		}else {JOptionPane.showMessageDialog(null, "Insira uma data de nascimento válida!");}
		
		if(!(dataadm.contains("_"))) {
			bd_dt_admi = new java.sql.Date(format.parse(dataadm).getTime());
		}else {JOptionPane.showMessageDialog(null, "Insira uma data de admissão válida!");}
		
		if(!(datadem.contains("_"))) {
			datadem.replace("_", "");
			System.out.println("datadem = "+datadem);
			bd_dt_demi = new java.sql.Date(format.parse(datadem).getTime());
		}
		
		System.out.println("data de banco de dados (nascimenro): "+bd_dt_nasc);
		System.out.println("data de banco de dados (admissao): "+bd_dt_admi);
		System.out.println("data de banco de dados (demissao): "+bd_dt_demi);
	
		
		
		} catch (Exception e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "registro não inserido com sucesso" + e);
		}	

	}
Criado 29 de junho de 2010
Respostas 0
Participantes 1