Usando SimpleDateFormat

1. Usando SimpleDateFormat

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 08/11/2012 - 00:21h

Pessoal preciso inserir algumas informações em um b.d mysql, só ta dando pau quando vou passar a data. Primeiro defini o formato da data com o SimpleDateFormat:

String padrao = "yyyy-MM-dd"; // formato de data
SimpleDateFormat sdf = new SimpleDateFormat(padrao);

Depois, pego a data atual e formato com a variavel sdf:

String dataatual = sdf.format(new Date()); // resulta: 2012-11-07 -> (dia atual)
// esse é o formato que o mysql aceita, portanto tem que ser =

Date date = sdf.parse(dataatual); // coloca no formato de Data completo
// estava em String e agora está em Date; Daqui eu passo ela pra outra classe
// que contém metodos gets() e sets() de todas as variáveis que eu vou passar pro //banco
// Nesse caso o metodo get() e set() dessa variavel de Data é do tipo Date; Até ai ok

public Date getDatavencimento() {
return datavencimento;
}
public void setDatavencimento(Date datavencimento) {
this.datavencimento = datavencimento;
}
// Antes eu crio uma instancia dessa clase com os metodos gets e sets(), e atribui //assim:
Empresa empresinha;
empresinha.setDatavencimento(new Date(dataatual)); // passa Data, aqui nao dá erro nenhum
// da erro so na hora de rodar e inserir

// Depois tem a classe que insere os dados no banco, após conectar. No caso a data eu insiro assim:

public void addCliente(Empresa empresa){

String sql2 = "INSERT INTO clientes(nome,endereco,telefone,celular,email,facebook,vencimento,locais,foto) VALUES(?,?,?,?,?,?,?,?,?)";

try{
PreparedStatement stmt2 = conexao2.prepareStatement(sql2);
// pega os valores setados e joga no b.d
stmt2.setString(1, empresa.getNome()); // OK
stmt2.setString(2, empresa.getEndereco()); // OK
stmt2.setInt(3, empresa.getTelefone()); // OK
stmt2.setInt(4, empresa.getCelular()); // OK
stmt2.setString(5, empresa.getEmail()); // OK
stmt2.setString(6, empresa.getLinkfacebook()); // OK
// Data aqui stmt2.setDate(7, (Date) empresa.getDatavencimento());
stmt2.setString(8, empresa.getLocaisfreq()); // OK
stmt2.setString(9, empresa.getFoto()); // OK


// executa
stmt2.execute();
stmt2.close();

}
catch(SQLException e){
throw new RuntimeException(e);
}finally{
JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso!");

}
}


Se alguem tiver a solução por favor me ajude preciso terminar isso é trabalho. Estamos aqui para compartilhar conhecimento, sou iniciante. Obrigado !!!





  


2. Re: Usando SimpleDateFormat

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/11/2012 - 09:18h


try {
PreparedStatement stmt2 = conexao2.prepareStatement(sql2);

stmt2.setString(1, empresa.getNome()); // OK
stmt2.setString(2, empresa.getEndereco()); // OK
stmt2.setInt(3, empresa.getTelefone()); // OK
stmt2.setInt(4, empresa.getCelular()); // OK
stmt2.setString(5, empresa.getEmail()); // OK
stmt2.setString(6, empresa.getLinkfacebook()); // OK
stmt2.setDate(7, new java.sql.Date(empresa.getDatavencimento()));
stmt2.setString(8, empresa.getLocaisfreq()); // OK
stmt2.setString(9, empresa.getFoto()); // OK


stmt2.execute();
stmt2.close();

} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso!");

}
}


Tente desta forma


3. RE: usando SimpleDateFormat

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 08/11/2012 - 22:35h

Fiz isso que você me disse, me falaram em um fórum que ao inserir uma data no B.D ela tem que estar no formato certinho do banco senão não insere. Entendi o que voce me explicou, instanciei a classe abstrata java.sql.Date(empresa.getDatavencimento())); Só que ai ele me retorna um erro, dizendo que o construtor de Date está indefinido.
Ai como opção ele fala pra mim alterar o valor de Date pra Long, só que se eu alterar pra Long, não vai ter como eu pegar essa variavel novamente. Tem alguma outra maneira de fazer isso, me ajuda pfvr !!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts