Delphi - SQL con campo tipo fecha

 
Vista:

SQL con campo tipo fecha

Publicado por Edwin QUijada (2 intervenciones) el 24/02/2003 22:25:46
Hola!!
Estoy usando Delphi 6 con Paradox y tengo un extrano problema. Estoy tratando de hacer un insert a una tabla , dentro de este hay un campo tipo fecha y cuando lo envio me da un error de la base de datos (BDE) diciendome que los tipos de datos no concuerdan. Lo que hago es que hice una funcion a la cual le paso todo el SQL construido en una variable para que esta lo ejecute pero cuando hay campos tipo fecha me rompe la funcion.
Cuando creo el SQL convierto la fecha a un string para crear todo el sql y falla lo mas extraño es que si escribo directamente la fecha "02-02-2003" cuando estoy creando el SQL no hay problema pero si es de una variable o uso la funcion de conversion este da un error y no loo hace.
Soy nuevo en esto y quisiera que alguien pueda ayudarme. Un amigo me dice que en Delphi 5 el lo hace como yo sin problema :(

Edwin Quijada
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:SQL con campo tipo fecha

Publicado por mamcx (533 intervenciones) el 25/02/2003 00:01:43
Muestranos el codigo, please.

Adicionalmente, verifica que el delimitador ("/" o "-") que usas en codigo sea el que esta predeterminado por el sistema...
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:SQL con campo tipo fecha

Publicado por Ernesto D'Spirito (706 intervenciones) el 25/02/2003 01:30:44
En el Local SQL (el SQL de la BDE) los literales de fecha deben estar en formato "mm/dd/aaaa" o "dd.mm.aaaa". El guion ('-') no es un separador de fechas para la BDE.

Te recomiendo usar parámetros y asignarlos con AsDate, así te evitas problemas y además mantienes la misma sentencia SQL preparada en vez de compilar una sentnecia SQL distinta cada vez, pero si en vez de usar parámetros prefieres contaner una fecha en tu sentencia SQL, hazlo de esta forma:

Query1.SQL.Text := 'SELECT * FROM tabla WHERE fecha = "'
+ FormatDateTime('mm/dd/aaaa') + '"';

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
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