Boa tarde…
estou com problema em conversão de data, tentei várias formas:
Desde já, agradeço!
us[1] é uma String?
Se for, use SimpleDateFormat.parse - não se esqueça, cast não faz conversão (exceto no caso de tipos primitivos para tipos primitivos). Em particular, (Date) str, onde str é uma string, não é possível.
é um vetor de string
mas não funcionou!
Olá, tudo bom?
Posta a imagem do erro que vc fez com o SimpleDateFormat.parse, pois tem que funcionar.
Deu erro em tempo de execução??
Abraço
Tenta com /
2003/01/01
mas o traço - foi como o oracle definiu, e estou lendo de um arquivo de texto =/
Cria um outro SimpleDateFormat mas com a máscara (“yyyy-MM-dd”).
daí, na hora de dar o pst.setDate(), vc faz um format com essa máscara:
SimpleDateFormat sdfSQL = new SimpleDateFormat("yyyy-MM-dd");
//procede com os códigos até o pst.SetDate()
pst.setDate(3,sdfSQL.format(data));
Qua daí ele já insere no padrão do banco ‘2003-01-01’.
É assim tbm com oracle né?
Pois eu não conheço :oops:
Abraço
[quote=Thiago Luis]Cria um outro SimpleDateFormat mas com a máscara (“yyyy-MM-dd”).
daí, na hora de dar o pst.setDate(), vc faz um format com essa máscara:
SimpleDateFormat sdfSQL = new SimpleDateFormat("yyyy-MM-dd");
//procede com os códigos até o pst.SetDate()
pst.setDate(3,sdfSQL.format(data));
Qua daí ele já insere no padrão do banco ‘2003-01-01’.
É assim tbm com oracle né?
Pois eu não conheço :oops:
Abraço[/quote]
NOOOOOSSSSSAAAAA :shock:
Esquece o que eu disse, não leva nem na brincadeira, só falei bobagem :lol:
Como que está a data no seu banco. Assim (1998-02-05)?
E como que está a String que vc quer inserir. Assim (2003-01-01)?
Pq eu testei de algumas formas parsear desse jeito e não foi.
Só parseou com a String deste jeito (01/01/2003), se não dá aquele erro que deu com vc.
De outro jeito não sei como…
Boom deixa eu explicar…
estou fazendo o seguinte, limpando toda base de dados e salvando num arquivo, agora a base vazia, preciso importar o arquivo para a base, então estou lendo linha por linha e importando.
Essa data, estava do mesmo formato no banco. =)
O que é mais estranho ainda, porque se estava dessa forma, deveria importar =/
[quote=jessicabnu]Boom deixa eu explicar…
estou fazendo o seguinte, limpando toda base de dados e salvando num arquivo, agora a base vazia, preciso importar o arquivo para a base, então estou lendo linha por linha e importando.
Essa data, estava do mesmo formato no banco. =)
O que é mais estranho ainda, porque se estava dessa forma, deveria importar =/[/quote]
No seu .TXT as datas estão todas no padão yyyy-MM-dd certo?
E se vc fizesse o seguinte:
muda a mascara do SimpleDateFormat para (“dd/MM/yyyy”);
pega o vetor us[1] e faz:
String aux = format.format(us[1]);
Agora, vc faz um parse no java.sql.Date:
java.sql.Date data = new java.sql.Date(format.parse(aux).getTime());
Eu não tenho certeza, mas acho que o parse só “parseia” quando digitamos no formato dd/MM/yyyy.
Tanto que eu fiz um teste digitando a data no formato yyyy/MM/dd (com / ao invés de traço) e deu uma data totalmente diferente.
É uma gambizinhha, mas pode ajudar.
Abraço
Já resolvi usando outro método.
Obrigada!