Atributo Date

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

[code]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());
	}

	
}[/code]

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

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

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

Use a SimpleDateFormat para manipular datas e strings.

Outra alternativa é usar a API Apache Commons Lang.

abraço

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

[code]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);
[/code]

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.

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

Unparseable date: “”

gostaria que me permitisse gravar vazio

[quote=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
[/quote]
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

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

voce está utilizando o format certo, se vir vazio

[code] 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;
	}

}[/code]

mais ou menos isso que voce precisa?

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

no seu banco está como not null esses campos?

naum naum eles podem receber null de boa o.O