Problemas con formato de las fechas

23/11/2004 - 12:37 por Javier | Informe spam
Tengo una aplicacion en la cual tengo que acceder a una base de datos
Pervasive y tengo que comparar unas fechas de las almacenadas en la bd y en
los webform. Mi problema viene que a la hora de hacer la sentencia SQL me
dice que el formato de la fecha es incorrecto para acceder a ella.

Alguien me podria decir como se deberia de declarar los tipos de los datos
en las tablas y en el programa?

Lo que ahora tengo es un DataTime al que le cojo la propiedad Date y le
aplico ToShortDateString() para poder generar la cadena SQL, ¿Puede ser este
el problema? y en la bd el campo de la fecha esta como: Date.

Para el tiempo, es decir la hora, seria mas omenos lo mismo?

Muchas gracias, Javier

Preguntas similare

Leer las respuestas

#1 Xavi
23/11/2004 - 13:30 | Informe spam
Hola.
Lo primero que tiene que saber es averiguar el tipo de datos que acepta el
gestor de bases de datos.
Por ejemplo, puede que necesite un formato "dd/MM/yyyy" (lo típico en
español) o "MM/dd/yyyy" (en inglés).
Después tienes que formatear el DateTime para que coincida con ese formato.
El método ToShortDateString() lo formatea según la configuración local de la
máquina donde se ejecute, que para el locale "es-ES" sería "dd/MM/yyyy"
habitualmente, o "MM/dd/yyyy" si estuviese con uno inglés.
Puedes utilizar el método ToString(formato) para especificar un formato de
tu conveniencia, por ejemplo:
dt.ToString("dd/MM/yy", DateTimeFormatInfo.InvariantInfo);

Saludos,
Xavi.
#2 Javier
23/11/2004 - 13:46 | Informe spam
Pues gracias, ya lo consegui y es que resulta de lo mas raro. Te explico.

Cuando pido la fecha al sistema me lo da en formato "dd/mm/aaaa" ok? pero
luego para pasarselo a la base de datos se lo tengo que pasar como:
"aaaa-mm-dd", no me parece normal pero weno por lo menos funciona, no se
porque, pero bueno ya se sabe ..

muchas gracias de nuevo.

Salu2, Javi

"Xavi" escribió en el mensaje
news:O$
Mostrar la cita
formato.
Mostrar la cita
la
Mostrar la cita
#3 Xavi
23/11/2004 - 14:09 | Informe spam
Es posible que sea debido al driver de la base de datos. En ocasiones los
drivers necesitan un formato específico para las fechas.

"Javier" escribió en el mensaje
news:e$
Mostrar la cita
#4 Octavio Hernandez
23/11/2004 - 14:10 | Informe spam
Javier,

Ese es el formato de las constantes en la sintaxis SQL de Pervasive.
No es nada raro que se utilice ese formato, de hecho se le llama ANSI, habrá
algún estándar al respecto. Con él se evitan los problemas de los distintos
formatos de fecha en diferentes países ...

Slds - Octavio

"Javier" escribió en el mensaje
news:e$
Mostrar la cita
el
Mostrar la cita
de
Mostrar la cita
de
Mostrar la cita
#5 Javier
24/11/2004 - 09:47 | Informe spam
Muchas gracias por la informacion a ambos. Pero una cosa mas. Entonces con
este tipo de fecha ANSI no tendria problemas a la hora de ejecutar la
aplicacion en ningun equipo, con una confguracion diferente a la española?

gracias de nuevo.

Javier



"Octavio Hernandez" escribió en el mensaje
news:#
Mostrar la cita
habrá
Mostrar la cita
distintos
Mostrar la cita
explico.
Mostrar la cita
pero
Mostrar la cita
acepta
Mostrar la cita
"dd/MM/yyyy"
Mostrar la cita
formato
Mostrar la cita
Ads by Google
Search Busqueda sugerida