Value '0000-00-00' can not be represented as java.sql.Date

Value '0000-00-00' can not be represented as java.sql.Date

Este error me sucedió cuando cuando quiero leer fechas del tipo DATE de la base de datos utilizando Java, sobre todo cuando esos campos están vacíos.


Value '0000-00-00' can not be represented as java.sql.Date

Al tratar leer esos campos Date me manda error, la solución que le dí fue con un simple cambio en la URL del JDBC conexión con la base de datos por ejemplo:

static String us = "usuario";
static String pass = "contraseña";
static String bd = "base de datos";
static String url = "jdbc:mysql://localhost:3306/"+bd;

Quedaría de esta forma:

static String us = "usuario";
static String pass = "contraseña";
static String bd = "base de datos";
static String url = "jdbc:mysql://localhost:3306/"+bd+"?zeroDateTimeBehavior=convertToNull";

O en una sola fila la URL sería así:

"jdbc:mysql://localhost:3306/base_de_datos?zeroDateTimeBehavior=convertToNull"



Comentarios

Entradas populares de este blog

Convertir jar a ejecutable exe con Launch4j

Librería para cambiar apariencia ventana y frames Java

Component mscomctl.ocx or one of its dependencies not correctly registered