Cara, quase conseguir resolver aqui, eu coloquei como String o data_hora no banco, ai deu certo…Mas quando eu vou na auditoria aqui, ele não me passa a hora, ele mostra apenas o campo now()…tentei então mudar pro datetime…e na tabela auditoria colocar o data_hora para DATE…mas ai ele da o erro de cima…no caso então…tem alguma solução ?
E quando eu inserir aqui com o campo datetime…qnd vou na tela auditoria ele me da isso Erro: java.sql.SQLException: Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Date
Sim. Pra isso, vc precisa então, no parametro 2, colocar a função correspondente ao valor esperado.
Passa como SYSDATE()
Veja a doc:
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_sysdate
Só mais uma coisa…na tabela de auditoria tem problema eu deixar como String data_hora ?..
Não tem. Isso fica ao seu gosto. Outra coisa que vc pode tentar para o parametro 2 é:
//param 2
pstm.setString(2, new Timestamp(new Date().getTime()));
São várias as possibilidades.
você pode me falar como ficaria na funcao de Sysdate ?
pstm.setString(2, "SYSDATE()");
Desculpa está pedindo tudo assim, é por que tenho que apresentar isso ainda hoje…Mas eu vou da uma estudada nisso mais afundo, depois…
Se eu colocar no banco de dados o campo data_hora como datetime, ele da o erro ali em cima…se caso eu deixar como VARCHAR ai ele me da esse nome ai…
Coloca a coluna como TIMESTAMP, dps, coloca isso:
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
pstm.setString(2, date);
Não tem como errar.
nesse caso ai, eu vou ter que passar de String para Date certo ?:
Desculpe,setTimestamp(2, date);
Segue um post que pode ajudar:
https://www.mkyong.com/jdbc/how-to-insert-timestamp-value-in-preparedstatement/
Agora sim, cara muito obrigado, muito Obrigado mesmo…
Vou dar uma estudada mais a fundo nisso depois para entender melhor…Mas por hoje, você me salvou, vlws mesmo…Pode Fechar o tópico.
Que beleza!
[RESOLVIDO] e sucesso no seu trabalho!
Obrigado