Atributo Date

11 respostas
Naruto

boa tarde ....

novamente to com mais um problema....

eu tenhu um campo no banco do tipo Date e na minha aplicação ele tambem esta como Date so que ai ele me retorna erro quando eu vo fazer isso
public void Gravar(){
		try {
			
			ContatosCTR contatosCTR = new ContatosCTR();
						
			if (contatosCTR.inserirContatos(edtnome.getText(), edtdata.getText(), edtendereco.getText())){
				JOptionPane.showMessageDialog(null, "Contato cadastrado com sucesso!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
			}else{
				JOptionPane.showMessageDialog(null, "Problemas no cadastro!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
			}	
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		
	}

o que eu posso fazer para resolver isso??? como eu faço pa converter a JTextfield para Date....
vlw

11 Respostas

rod

tenta assim: :wink:

//coloque aqui o formato da data usada na sua app. SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Date data = dateFormat.parse(edtdata.getText());

[]s

Pedrosa

Ao trabalhar com datas via JDBC use Timestamp e evite dor de cabeça com o Date.

P

Use a SimpleDateFormat para manipular datas e strings.

Outra alternativa é usar a API Apache Commons Lang.

abraço

shoko

Voce pode usar o método parse() da classe SimpleDateFormat ou até a classe DateFormat caso preferir.

Date date = new Date();
	SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");

               // converte a data em uma string(recuperar do banco)
	String data = fmt.format(date);
	
               //transforma a string em uma data(gravar no banco)
	Date x = fmt.parse(data);

O que o java oferece é isso, mais você tambem pode utilizar as clausulas de conversao na propria query no oracle por exemplo voce usaria a clausula TO_DATE("sua string","dd/MM/yyyy")

espero ter ajudado, acho que era isso que voce queria.

Abraço.

Naruto

bmmm deu certooo …
so que acontece o seguinte erro c eu dexiar o campo data vazio

Unparseable date: “”

gostaria que me permitisse gravar vazio

jgbt

Naruto:
bmmm deu certooo …
so que acontece o seguinte erro c eu dexiar o campo data vazio

Unparseable date: “”

gostaria que me permitisse gravar vazio


Vc não pode pegar o conteudo do JTextField e testar se esta vazio antes?
Se não for vazio, fomata e seta o atributo, se estiver vazio não faz nada… :roll:

[]´s

Naruto

mais ele precisa fazer al\guma coisa…
mesmo c tiver vazio ele tem que gravar null

so que ele naum me dexa gravar null tb
o.O

shoko

voce está utilizando o format certo, se vir vazio

public Date converterData(String data) throws ParseException {

		SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
		if (data == null || data.trim().equals("")) {
			return null;
		} else {
			Date date = fmt.parse(data);
			return date;
		}

	}

mais ou menos isso que voce precisa?

Naruto

olha eu vo testar… quando eo chegar em casa … eu to com esse problema em uma aplicação… em casa tambem ai te falo se der certo… pois quando eu deixo um campo Date vazio ou ate mesmo outro que não seja string ele me da esse problema… o que sera que é hemm

shoko

no seu banco está como not null esses campos?

Naruto

naum naum eles podem receber null de boa o.O

Criado 24 de julho de 2008
Ultima resposta 24 de jul. de 2008
Respostas 11
Participantes 6