Gravando data no banco de dados

2 respostas
R

Galera preciso saber como faço pra gravar no banco de dados um valor de data em branco, pois quando vou realizar a gravação o banco de dados não aceita, mesmo eu setando as variaveis do tipo Date como null. A unica forma que funciona é eu preenchendo corretamente os dados. Ae vao alguns trechos

esse trecho serve pra receber os valor digitados pelo usuario. A conversão que faço usando DataUtil.converteData (formattedTextField1.getText().trim()); serve pra transformar a data do tipo dd/MM/yyyy no tipo correto pra ser gravado yyyy?MM/dd, caso ocorra erro o retorno é null.

public void recebeValores() { func.nome = textField1.getText().trim(); func.CPF = textField2.getText().trim(); func.logradouro = textField6.getText().trim(); func.cidade = textField7.getText().trim(); func.bairro = textField9.getText().trim(); func.login = textField12.getText().trim(); func.senha = new String(passwordField1.getPassword()).trim(); func.dataNascimento = DataUtil.converteData (formattedTextField1.getText().trim()); func.dataAdmissao = DataUtil.converteData (formattedTextField4.getText().trim()); func.dataDemissao = DataUtil.converteData (formattedTextField5.getText().trim()); func.telefone1 = formattedTextField2.getText().trim(); func.telefone2 = formattedTextField3.getText().trim(); func.CEP = formattedTextField6.getText().trim(); func.cargo = (String)comboBox1.getSelectedItem(); }

esse é a query q uso pra gravar os dados no bd

String q1 = "INSERT INTO funcionario 
(nome,login, senha, cpf,logradouro, cidade, bairro, cargo, data_nascimento, data_admissao, data_demissao, telefone1, telefone2, cep) Values 
('"+func.nome+"','"+func.login+"','"+func.senha+"','"+func.CPF+"',
'"+func.logradouro+"','"+func.cidade+"','"+func.bairro+"','"+func.cargo+"',
'"+func.dataNascimento+"','"+func.dataAdmissao+"','"+func.dataDemissao+"',
'"+func.telefone1+"','"+func.telefone2+"','"+func.CEP+"')";

esse trecho é como gravo os dados

Connection con = ConectandoBD.criaLigacao(); Statement stmt = null; try { stmt = con.createStatement(); stmt.executeUpdate(q1); } catch (SQLException e) {}

Gostaria então de saber o que devo fazer para realizar a gravação mesmo quando os campos de data não forem preenchidos.

2 Respostas

J

Use PreparedStatement!

Veja um tutorial em: http://jairelton.com

Quando a data estiver preenchida você usa setDate() e quando estiver nula você usa setNull()

R

jairelton valew a ajuda ae! tava tentando ver se tinha como fazer de outro modo pq achava esse meio estranho, mas ae com as explicações la na sua pag fico mais claro! Vlw ae e curti sua pag.!

Criado 9 de agosto de 2006
Ultima resposta 10 de ago. de 2006
Respostas 2
Participantes 2