supuestamente deberia guardarme pero no lo hace :ouch:
pero si lo guardo como texto normal si me guarda sin convertira tipo date o datetime y me ocaciona otro problem que cuando voy a crear mi consulta en dw entre dos fechas (http://s4.subirimagenes.com/otros/previo/thump_326094602.jpg)
ingreso las fechas 20/07/2009 y 30/11/2009 para buscar fechas entre ese rango ya que en mi tabla hay fechas q introduci manualmente 24/09/09 , 23/09/09
no se que pueda suceder ya cambie la configuracion regional y todo lo demas porfavor quisiera q me ayuden
Título: Re: que pasa con la fecha y mi codigo
Publicado por: Juanra15 en Jueves 24 de Septiembre de 2009, 19:06
Hola Darksito, una pregunta, que version de Power Builder usas?
provaste al convertir la fecha a string darle el formato? ej: fecha = String(Today(), "yyyy/mm/dd") si solo vas a pasar la fecha declaralo como DATE (no como DATETIME).
Yo al trabajar con fechas las las guardo en la DB como char(8) con el siguiente formato 20091024 = 23/10/2009, tengo una funcion guardada que convierte al char(8) al formato fecha, asi las busquedas y filtros en la DB me queda mas practico, espero que te sirva de algo.
Saludos :good:
Título: Re: que pasa con la fecha y mi codigo
Publicado por: darksito en Jueves 24 de Septiembre de 2009, 19:23
hola man me podrias pasar un ejemplo haci sencillo uff nu sabes cuanto me ayudaria no se antes me guardaba normal ahora no !! estoy algo desauciado y quiero romper mi compu xD gracias
uso la 11.5 y tambien prove en 10.5
Título: Re: que pasa con la fecha y mi codigo
Publicado por: F_Tanori en Viernes 25 de Septiembre de 2009, 09:05
El formato Estandar Internacional es YYYYMMDD el cual no necesita ningun formateo ni tampoco separadores
La verdad es que no es buena idea almacenar Fechas como texto, pues no se manipulan de la misma manera, no utilizan los mismos espacios, ni tampoco se obtienen los mismos resultados
Puedes convertirlo a Date
Código: Visual Basic
fecha=date(dp_1.text)
o
a DateTime
Código: Visual Basic
fecha=datetime(dp_1.text,Now())
Código: Visual Basic
INSERT INTO t_fecha ( fecha ) VALUES ( :fecha ) using SQLCA ;
if SQLCA.SQLCODE<>0 then
MsgBox (string(fecha),SQLCA.SQLErrText)
Endif
Comprueba el error que obtienes
Saludos
Título: Re: que pasa con la fecha y mi codigo
Publicado por: darksito en Viernes 25 de Septiembre de 2009, 17:06
bueno ahora no me ocurre ningun problema en guardar pero ocurre esto q en mi base de datos se guarda 01/01/1900 y estamos 2009 y eleji diferentes fechas pero aun asi
esta tabla la cree para ver si funcionaba el codigo (http://s4.subirimagenes.com/otros/previo/thump_326654504.jpg)
que puedo hacer respecto a este problema ya reconfigue el idioma soy de peru
dd/mm/yyyy
Título: Re: que pasa con la fecha y mi codigo
Publicado por: Juanra15 en Viernes 25 de Septiembre de 2009, 18:02
proba con el formato de fecha que te dijo F_Tanori yyyy/mm/dd la fecha 1/1/1900 creo que es la fecha minima que te deja guardar el tipo DATE, cuando hay algun problema con el formato de la fecha, te guarda esa fecha, por ejemplo vos le pasas 24/10/2009 y el sistema toma la fecha con el formato internacional (2009/10/24) ve que el formato no coincide y te guarda el famoso 01/01/1900 :scream:
Título: Re: que pasa con la fecha y mi codigo
Publicado por: darksito en Viernes 25 de Septiembre de 2009, 18:35
bueno guardando asi yyyy/mm/dd me funciono ! pero al guardar 2009/09/12 me guarda pero si le doy 2009/09/13 ya no me guarda :S hay q dolor de cabeza cambie tmbien yyyy/dd/mm igual me sale el el error de conversion de tipo char a datetime pordujo un datatime fuera de rango
:( :hitcomp:
Título: Re: que pasa con la fecha y mi codigo
Publicado por: Juanra15 en Viernes 25 de Septiembre de 2009, 19:51
pero para el dia de hoy te funciono, solo faltan hacer funcionar el resto de las fechas :lol: estas guardando en una variable tipo DATE no? :think: no guardes en una datetime :no:
Título: Re: que pasa con la fecha y mi codigo
Publicado por: darksito en Viernes 25 de Septiembre de 2009, 21:27
me guardar desde 01/09/2009 hasta el 12/09/2009 y apartir del 13/09/2009 ya no me guarda estoy usando un editmask le cambie formatos yyyy/mm/dd , yyyy/dd/mm , dateinternacional la mascakara es datemask mi configuracion reginal es Español(peru) ubicacion peru en fecha esta dia/mes/año que me sucede :( quiero lobrar eso para que en mi dw pregunte buscar entre fechas me bote los resultados :(
Título: Re: que pasa con la fecha y mi codigo
Publicado por: F_Tanori en Viernes 25 de Septiembre de 2009, 21:39
La forma en que SQL Server almacena la informacion internamente ni siquiera es como fecha, pero para representarlo a la vista del humano, lo hace a traves del formato YYYYMMDD Estandar Internacional (representado visiblemente como YYYY-MM-DD en SQL Server ) sin importar la configuracion regional ni las preferencias de ubicacion del usuario
El problema que tienes es que PB no esta proporcionando un valor valido para el tipo de dato que esta esperando la base, y el tipo de dato en PB esta corrompido por lo tanto te da una fecha invalida representada en PB por 01/01/1900, para solventar esta situacion puedes hacer lo siguiente:
Cambiar el formato a la fecha usando la funcion String como bien te lo ha recomendado Juanra15 ... pero no almacenarla como texto sino que de nuevo retornandola a un tipo de dato fecha (DATE) y de esta manera hacer el Insert
Código: SQL
DATE fecha
fecha =DATE(string(dp_1.text,'YYYY-MM-DD'))
INSERTINTO t_fecha ( fecha )VALUES( :fecha );
Saludos
Título: Re: que pasa con la fecha y mi codigo
Publicado por: darksito en Sábado 26 de Septiembre de 2009, 16:41
bueno ya me rindo formateare la pc y instalare el sql 2008 standar y power builder 10.5 haber q sucede gracias por su participacion de todo corazon bueno ahora movere el codigo q puse de la aplicacion bancaria a otro tema para los demas usuarios atentamente darksito
Título: Re: que pasa con la fecha y mi codigo
Publicado por: F_Tanori en Sábado 26 de Septiembre de 2009, 21:40
Personalmente, no me parece la solucion ...
No creo que el problema sea por ahi Pero bueno cada quien