Power Builder - ERROR FECHA DE NACIMIENTO

   
Vista:

ERROR FECHA DE NACIMIENTO

Publicado por Daniel (4 intervenciones) el 20/11/2009 09:50:31
Hola

Estoy desarrollando un proyecto de estudios sobre un Emp de Hostal y bueno tengo un problema que no he podido solucionar hasta ahora y es el siguiente:

Al momento de de hacer un Actualizar Fecha de Nacimiento o cualquier campo de ese registro me bota el Siguiente error :

-----------------------------------------------------------------------------------------------------------------------------
Index #0 Source: .Net SqlClient Data Provider Message: La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo. Number: 242 State: 3
Index #1 Source: .Net SqlClient Data Provider Message: Se terminó la instrucción. Number: 3621 State: 0

No changes made to database.

UPDATE cliente SET fecha_nac = '1990-11-11 00:00:00.000' WHERE codigo_h = 101

-----------------------------------------------------------------------------------------------------------------------------

lo que yo quisiera que me ayuden es como hago para guardar,actualizar, borrar la fecha de nacimiento en el PBL he cambiado el tipo de conversion a DD-MM-YYYY HH-MM-SS y aun asi me bota este error y no se que hacer, si alguien tubiera la gentileza de brindar su conocimiento para solucionar este problema el cual me urge, estaria muy agradecido

Bueno, Desde ya muchas gracias

Adios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ERROR FECHA DE NACIMIENTO

Publicado por anonimo (108 intervenciones) el 20/11/2009 10:06:43
hola,

intenta convertir el valor a date o datetime (depende de qué tipo de datos es tu fecha de nacimiento).

si lo ejecutas desde script:

datetime ldt_fecha_nacimiento

ldt_fecha_nacimiento = datetime( date('11/11/1900'), time('00:00:00') )
UPDATE cliente
SET fecha_nac = :ldt_fecha_nacimiento
WHERE codigo_h = 101

o usa una función agragado de BD como por ejemplo:

UPDATE cliente
SET fecha_nac = to_date( '1990-11-11 00:00:00.000' )
WHERE codigo_h = 101

o

UPDATE cliente
SET fecha_nac = date( '1990-11-11 00:00:00.000' )
WHERE codigo_h = 101


si no te está pasando desde código pero al actualizar por ejemplo un datawindow, puedes jugar con tu perfil de conexión:
dbparm ---> datetimeformat='dd/mm/yyyy hh:mm:ss';'dateformat='dd/mm/yyyy';timeformat='hh:mm:ss'

Los anteriores sintaxis no son correctos, sólo es para indicarte que puedes intentar convirtiendo a variable local Date / DateTime o con alguna función de conversión de la base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR FECHA DE NACIMIENTO

Publicado por Daniel (4 intervenciones) el 20/11/2009 10:18:46
Hola pasa un problema que yo estoy trabajando con SQL 2005 sin Sentencias, solo son tablas relacionadas

y bueno los registros los lleno desde PowerBuilder y estoy trabajando con DataWindows y al campo FechaNacimiento le eh puesto como mencione DD-MM-YYYY HH:MM:SS

Pero en el errror guarda como si lo hubiera puesto YYYY-MM-DD HH:MM:SS ahi esta mi problema

Gracias por tu respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR FECHA DE NACIMIENTO

Publicado por anonimo (108 intervenciones) el 20/11/2009 14:54:33
esto de dejaría probar entonces la especificación del datetimeformat y dateformat en el dbparm (perfil de conexión a la base de datos).

también es posible que tengas que aplicar el formato español en la base de datos. Echa un vistazo a la siguiente página donde parecen que hablan del tema. No lo puedo probar ya que no tengo sqlserver:

http://blog.3metas.com/2009/11/07/configurando-datetime-formats-en-sql-server/

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR FECHA DE NACIMIENTO

Publicado por PBProgrammer (1 intervención) el 20/11/2009 15:12:37
No se si ya resolviste tu problema, pero tengo una idea de como ayudarte ya que yo tambien tuve el mismo problema con sqlserver.
Prueba usando el formato de fecha que tienes en la configuracion regional de windows e intenta usar "/" en vez de "-" para separador de fechas

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar