Java: Insertar en una tabla datos de fecha y hora
Estoy tratando de insertar en una variable en la base de datos MS-SQL la fecha actual y la hora. Yo uso este formato:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
y recibo esto como resultado 2013-01-28 09: 29: 37.941
Mi campo en la base de datos está definido.datetime
y como he visto en otras tablas que tienen el mismo campo, la fecha y la hora están escritas exactamente igual que este 2011-07-05 14: 18: 33.000.
Intento insertarlo en la base de datos con una consulta que hago dentro de un programa java, pero recibo este error
Excepción de SQL: Estado: Mensaje S0003: La conversión de un tipo de datos varchar a un tipo de datos de fecha y hora del valor está fuera de rango. Error: 242
Mi consulta es así:
query = "INSERT INTO Companies CreatedOn"+
"VALUES ('" + dateFormat.format(cal.getTime()) + "')"
pero no entiendo lo que estoy haciendo mal