FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Error General SQL en Fecha
Hola amigos, soy nuevo en delphi y quizás sea una tonteria pero a mi me esta volviendo loco, os cuento.
Estoy trabajando en un proyecto en el cuál tengo que modificar un programa de escritorio realizado en delphi 5. El tema es que el código funciona en el servidor de producción pero en mi equipo de desarrollo con una copia de la base de datos identica al de producción me da error en conversiones de fecha. El programa tira de sql server y estoy usando windows xp, el código donde da el error es este: Datos.Params[0].asDate := StrToDate(eFecha.Text); Datos.Open; Datos contiene la consulta select y le paso el parámetro fecha. Haciendole un debug a eFecha.Text me devuelve la fecha introducida '28/02/2015' pero cuando hace el StrToDate la fecha cambia al entero 42063. Cuando hago Datos.Open; salta el error general sql en fecha. Curiosamente cambiando el anterior código a este si me funciona en mi equipo: Datos.Params[0].asString := eFecha.Text; Datos.Open; Entiendo que me debe faltar alguna configuración a nivel de configuración de delphi, base de datos o sistema operativo para que en mi equipo funcione al igual que en el servidor de producción pero no se cuál. Cualquier ayuda es bienvenida, saludos! |
#2
|
||||
|
||||
Lo mismo es por el formato, yyyy/mm/dd mm/dd/yyyy etc.
|
#3
|
|||
|
|||
En la instrucción SrtToDate veo que se le puede pasar el formato como parámetro pero.. ¿hay alguna forma de configurar este de una forma global para que el código funcione tal y como está?
|
#4
|
||||
|
||||
Muestra el SQL que tiene la consulta.
Además, verifica que el tipo de dato del parámetro que quieres rellenar sea del tipo fecha (el campo en la base de datos quizás es un string). ejemplo:
Código:
SQL := 'SELECT * FROM TABLA WHERE FECHA <= :FECHA' |
#5
|
|||
|
|||
La consulta es esta:
En la base de datos Fecha esta definida como DATETIME. Por lo que veo al hacer el StrToDate la fecha cambia a días: 42063 (sumados a la fecha 30/12/1899 da la fecha introducida) El StrToDate debería de pasar a un formato fecha como este: "28/12/2015" ya que por lo visto al pasar los días a la consulta la select falla. El problema parece estar relacionado más con Delphi que con Sql. |
#6
|
||||
|
||||
Creo que no, que el problema está más relacionada con el programador que con delphi o sql
Falta que pongas más código, con eso solo no se puede saber nada, no somos adivinos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Evitar error de excepción general con ficheros | Belaix | Varios | 2 | 16-12-2008 16:57:53 |
Error General Sql Error lock conflict ...deadlock | Patricio | Varios | 1 | 19-03-2008 14:52:14 |
general sql error -2147221164 | luchin001 | Conexión con bases de datos | 1 | 02-12-2004 17:44:49 |
General SQL Error | ander | SQL | 3 | 09-09-2004 16:05:07 |
General SQL ORACLE ODBC error | jmbarrio | SQL | 0 | 26-02-2004 12:10:19 |
|