Problema con fechas extraño

12/01/2006 - 14:58 por Carmelo J. Morales Muñoz | Informe spam
¡hola!

Tengo una aplicación c# en una maquina con windows XP, la base de datos
también en el mismo ordenador. Pero ahora la base de datos la he copiado a
un ordenador windows98, y al acceder a la base de datos en este equipo (que
es la misma bbdd) me da error al pasar una fecha. La configuración regional
la tengo identica, aunque uno es win98 y el otro xp, los servidores, msde.
El cliente siempre en el mismo ordenador, win xp

¿alguna idea?.


esta es la consulta que hago a la base de datos:

set @Fecha1 = Convert(varchar(10),@Fecha1,103)
set @Fecha2 = Convert(varchar(10),@Fecha2,103)

SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
FROM DIARIO INNER JOIN
CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
(DIARIO.Borrado = 0)

http://www.gestionagricola.com
http://www.carmelosoft.com

Preguntas similare

Leer las respuestas

#6 Carmelo J. Morales Muñoz
12/01/2006 - 21:34 | Informe spam
Pongo el código que utilizo:

decimal? total = 0;

DateTime? f1 = Convert.ToDateTime(dtpFecha1.Value);

DateTime? f2 = Convert.ToDateTime(dtpFecha2.Value);

diario.TotalDiario(f1,f2, ref total);

tbTotal.Text = total.ToString();



Diario es un obgeto TableAdapter, utilizo VSNet 2005. Pues bien, les paso
las fechas:



f1= 1/01/2006

f21/12/2006



En xp no falla, pero si hago la consulta hacia la copia de la base de datos
en win98 si falla al convertir la fecha 2.



¿alguna posible solución?.



http://www.gestionagricola.com
http://www.carmelosoft.com

"Carmelo J. Morales Muñoz" escribió en el mensaje
news:
ok, perdón voy a verlo.

2006-01-05 00:00:00.000
me aparece en este formato en el ordenador en que no me falla..


y la otra versión me lo devuelve igual... he copiado la base de datos tal
cual de un ordenador al otro, y en xp no falla y si acceso al otro si.

Seguirçe investigando..


http://www.gestionagricola.com
http://www.carmelosoft.com

"Isaias" escribió en el mensaje
news:
Con permiso

Creo que JC se refiere a que si das un simple

SELECT Fecha FROM DIARIO

¿De que forma te aparece el dato mostrado?
Saludos
IIslas


"Carmelo J. Morales Muñoz" escribió:

Leyendo mi mensaje me doy cuenta que no me he explicado bien en ese
punto,
realmente tengo instalado MSDE en ambos equipos, el mismo msde, pero me
pones en duda,, ¿como se si es la versión ingles o no?


bye!


http://www.gestionagricola.com
http://www.carmelosoft.com

"Juan Carlos" escribió en el mensaje
news:
> Tu sql server y el msde son los mismos es decir tienen el mismo idioma
> o
> uno es español y otro es ingles.
>
> Saludos
> "Carmelo J. Morales Muñoz" escribió en el
> mensaje news:%
>> ¡hola!
>>
>> Tengo una aplicación c# en una maquina con windows XP, la base de
>> datos
>> también en el mismo ordenador. Pero ahora la base de datos la he
>> copiado
>> a
>> un ordenador windows98, y al acceder a la base de datos en este
>> equipo
>> (que
>> es la misma bbdd) me da error al pasar una fecha. La configuración
>> regional
>> la tengo identica, aunque uno es win98 y el otro xp, los servidores,
>> msde.
>> El cliente siempre en el mismo ordenador, win xp
>>
>> ¿alguna idea?.
>>
>>
>> esta es la consulta que hago a la base de datos:
>>
>> set @Fecha1 = Convert(varchar(10),@Fecha1,103)
>> set @Fecha2 = Convert(varchar(10),@Fecha2,103)
>>
>> SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
>> DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
>> FROM DIARIO INNER JOIN
>> CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
>> WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
>> (DIARIO.Borrado = 0)
>>
>> http://www.gestionagricola.com
>> http://www.carmelosoft.com
>>
>>
>>
>
>









Respuesta Responder a este mensaje
#7 Carmelo J. Morales Muñoz
12/01/2006 - 21:47 | Informe spam
Pues me las muestra en ingles,,, ¿como corrijo esto?


http://www.gestionagricola.com
http://www.carmelosoft.com

"Juan Carlos" escribió en el mensaje
news:
no somos claro, creo que Isaias no lo pudo decir mejor, el hecho es como
salen los datos, por ejemplo:

si tengo sql en ingles me devuelve las fechas asi
2005-01-01
y en sql en español me las muestra as
01-01-2005

Fijate como te muestra los datos.

Salu2

"Isaias" escribió en el mensaje
news:
Con permiso

Creo que JC se refiere a que si das un simple

SELECT Fecha FROM DIARIO

¿De que forma te aparece el dato mostrado?
Saludos
IIslas


"Carmelo J. Morales Muñoz" escribió:

Leyendo mi mensaje me doy cuenta que no me he explicado bien en ese
punto,
realmente tengo instalado MSDE en ambos equipos, el mismo msde, pero me
pones en duda,, ¿como se si es la versión ingles o no?


bye!


http://www.gestionagricola.com
http://www.carmelosoft.com

"Juan Carlos" escribió en el mensaje
news:
> Tu sql server y el msde son los mismos es decir tienen el mismo idioma
> o
> uno es español y otro es ingles.
>
> Saludos
> "Carmelo J. Morales Muñoz" escribió en el
> mensaje news:%
>> ¡hola!
>>
>> Tengo una aplicación c# en una maquina con windows XP, la base de
>> datos
>> también en el mismo ordenador. Pero ahora la base de datos la he
>> copiado
>> a
>> un ordenador windows98, y al acceder a la base de datos en este
>> equipo
>> (que
>> es la misma bbdd) me da error al pasar una fecha. La configuración
>> regional
>> la tengo identica, aunque uno es win98 y el otro xp, los servidores,
>> msde.
>> El cliente siempre en el mismo ordenador, win xp
>>
>> ¿alguna idea?.
>>
>>
>> esta es la consulta que hago a la base de datos:
>>
>> set @Fecha1 = Convert(varchar(10),@Fecha1,103)
>> set @Fecha2 = Convert(varchar(10),@Fecha2,103)
>>
>> SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
>> DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
>> FROM DIARIO INNER JOIN
>> CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
>> WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
>> (DIARIO.Borrado = 0)
>>
>> http://www.gestionagricola.com
>> http://www.carmelosoft.com
>>
>>
>>
>
>









Respuesta Responder a este mensaje
#8 qwalgrande
12/01/2006 - 22:21 | Informe spam
Hola.

Usa el formato de fecha 'yyyymmdd'. Por ejemplo hoy es '20060112'. Este
formato siempre funciona.

Alberto López Grande (qwalgrande)
"Carmelo J. Morales Muñoz" escribió en el mensaje
news:%
¡hola!

Tengo una aplicación c# en una maquina con windows XP, la base de datos
también en el mismo ordenador. Pero ahora la base de datos la he copiado a
un ordenador windows98, y al acceder a la base de datos en este equipo
(que
es la misma bbdd) me da error al pasar una fecha. La configuración
regional
la tengo identica, aunque uno es win98 y el otro xp, los servidores, msde.
El cliente siempre en el mismo ordenador, win xp

¿alguna idea?.


esta es la consulta que hago a la base de datos:

set @Fecha1 = Convert(varchar(10),@Fecha1,103)
set @Fecha2 = Convert(varchar(10),@Fecha2,103)

SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
FROM DIARIO INNER JOIN
CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
(DIARIO.Borrado = 0)

http://www.gestionagricola.com
http://www.carmelosoft.com



Respuesta Responder a este mensaje
#9 Carmelo J. Morales Muñoz
12/01/2006 - 23:53 | Informe spam
¿te refieres a que use el tipo 111?.

Es decir, antes de salvar mi fecha, al recibir la fecha en el storeProc, le
digo que la convierta a ese tipo tal que así?.

declate @fecha datetime

set 2fecha = Convert (varchar(10),@FechaEntrada,111)

¿es a esto a lo que te refieres=?.


gracias!



http://www.gestionagricola.com
http://www.carmelosoft.com

"qwalgrande" escribió en el mensaje
news:
Hola.

Usa el formato de fecha 'yyyymmdd'. Por ejemplo hoy es '20060112'. Este
formato siempre funciona.

Alberto López Grande (qwalgrande)
"Carmelo J. Morales Muñoz" escribió en el
mensaje news:%
¡hola!

Tengo una aplicación c# en una maquina con windows XP, la base de datos
también en el mismo ordenador. Pero ahora la base de datos la he copiado
a
un ordenador windows98, y al acceder a la base de datos en este equipo
(que
es la misma bbdd) me da error al pasar una fecha. La configuración
regional
la tengo identica, aunque uno es win98 y el otro xp, los servidores,
msde.
El cliente siempre en el mismo ordenador, win xp

¿alguna idea?.


esta es la consulta que hago a la base de datos:

set @Fecha1 = Convert(varchar(10),@Fecha1,103)
set @Fecha2 = Convert(varchar(10),@Fecha2,103)

SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
FROM DIARIO INNER JOIN
CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
(DIARIO.Borrado = 0)

http://www.gestionagricola.com
http://www.carmelosoft.com







Respuesta Responder a este mensaje
#10 Carmelo J. Morales Muñoz
12/01/2006 - 23:58 | Informe spam
perdón,,, talvez mejor el tipo 120 que el 111 no?


http://www.gestionagricola.com
http://www.carmelosoft.com

"Carmelo J. Morales Muñoz" escribió en el mensaje
news:
¿te refieres a que use el tipo 111?.

Es decir, antes de salvar mi fecha, al recibir la fecha en el storeProc,
le digo que la convierta a ese tipo tal que así?.

declate @fecha datetime

set 2fecha = Convert (varchar(10),@FechaEntrada,111)

¿es a esto a lo que te refieres=?.


gracias!



http://www.gestionagricola.com
http://www.carmelosoft.com

"qwalgrande" escribió en el mensaje
news:
Hola.

Usa el formato de fecha 'yyyymmdd'. Por ejemplo hoy es '20060112'. Este
formato siempre funciona.

Alberto López Grande (qwalgrande)
"Carmelo J. Morales Muñoz" escribió en el
mensaje news:%
¡hola!

Tengo una aplicación c# en una maquina con windows XP, la base de datos
también en el mismo ordenador. Pero ahora la base de datos la he copiado
a
un ordenador windows98, y al acceder a la base de datos en este equipo
(que
es la misma bbdd) me da error al pasar una fecha. La configuración
regional
la tengo identica, aunque uno es win98 y el otro xp, los servidores,
msde.
El cliente siempre en el mismo ordenador, win xp

¿alguna idea?.


esta es la consulta que hago a la base de datos:

set @Fecha1 = Convert(varchar(10),@Fecha1,103)
set @Fecha2 = Convert(varchar(10),@Fecha2,103)

SELECT DIARIO.ID, DIARIO.Fecha, CUENTAS.Cuenta, DIARIO.Descripcion,
DIARIO.Importe, DIARIO.TipoCuenta, DIARIO.IdCuenta, DIARIO.Borrado
FROM DIARIO INNER JOIN
CUENTAS ON DIARIO.IdCuenta = CUENTAS.ID
WHERE (DIARIO.Fecha >= @Fecha1 AND DIARIO.Fecha <= @Fecha2) AND
(DIARIO.Borrado = 0)

http://www.gestionagricola.com
http://www.carmelosoft.com











Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida