Data e MySQL

E aí pessoal, blz?

Seguinte, eu estou começando em MySQL e estou com um problema em recuperar o valor de uma data do bando de dados do MySQL.

Vejam a minha tabela:

CREATE TABLE `informativo` ( `codigo` int(11) NOT NULL auto_increment, `titulo` varchar(100) default NULL, `data` datetime default NULL, `descricao` text, PRIMARY KEY (`codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Meu Código:

[code]try {
Class.forName(“com.mysql.jdbc.Driver”);

System.out.println(“Foi 1”);

Connection con = DriverManager.getConnection (“jdbc:mysql://localhost:8181/jusmar”,“root”,“12qwaszx”);

String query = "select * from informativo ";

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(query);

while(rs.next()){

System.out.println("Campo Código: "+ rs.getString("codigo"));
System.out.println("Campo Título: "+ rs.getString("titulo"));
System.out.println("Campo Data: "+ rs.getTimestamp("data"));

}

} catch (ClassNotFoundException e) {
System.out.println(“O driver expecificado não foi encontrado.”);
}
catch (SQLException e1) {
e1.printStackTrace();
}[/code]

ERRO:

Cannot convert value '0000-00-00 00:00:00' from column 3 to TIMESTAMP.

Eu já tentei usar rs.getString e rs.getDate mas tb não funciou!!!

Eu consigou inserir dados na tela, mas não consigo recuperar!!! Fogo!!

Alguêm sabe o pq deste erro?

Obrigado!

Adicione o seguinte na sua String de conexao:

zeroDateTimeBehavior=convertToNull

ou seja, vai ficar como

jdbc:mysql://localhost:8181/jusmar?zeroDateTimeBehavior=convertToNull

Rafael

Valeu Rafael!!!

Funcinou!!! :wink:

[quote=Rafael Steil]Adicione o seguinte na sua String de conexao:

zeroDateTimeBehavior=convertToNull

ou seja, vai ficar como

jdbc:mysql://localhost:8181/jusmar?zeroDateTimeBehavior=convertToNull

Rafael[/quote]

Muito legal isso ai Rafael, e aproveitando o embalo, tem como passar na URL de conexão com o banco, algo para mudar o tipo de retorno de data ?ex: dd/mm/aaaa

se tiver isso será uma mão na roda, pois evita ter que formatar a saida da data no MySQL que geralmente vem mm/dd/aaaa. :wink:

Valeus.

Ai ja nao da. Esses parametros de conexao sao um workaround que o driver do mysql usa para compensar certas funcionalidades do servidor mysql, que mudam de versao para versao.

Rafael

Kartler, não é melhor você obter um objeto Date usando getDate(…) e, quando quiser imprimir, fazer as devidas formatações em Java, não?