Ver Mensaje Individual
  #8  
Antiguo 06-05-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola!

Cita:
Empezado por AzidRain Ver Mensaje
Los párametros nunca los hé definido por tipo, simplemente dejo que Delphi les asigne el tipo de acuerdo con lo que le devuelve el motor y hasta ahora no tuve problemas...
El título del hilo señala que son parámetros de tipo Date, pero por lo que comentas tengo dudas de si realmente la propiedad DataType del parámetro en Delphi tiene un valor de ftDate, ¿podrías verificar esto? Me parece que con ajustar esa propiedad sería suficiente para que la función Extract trabaje sin problemas con el parámetro.

Cita:
Empezado por AzidRain Ver Mensaje
...en MySQL por default utiliza el formato ISO...
En Firebird y otras bases de datos cliente-servidor también.

Cita:
Empezado por AzidRain Ver Mensaje
...Precisamente en MySQL utilizaba mis parametros como ".AsDate" y le pasaba directo el valor de los datepickers olvidándome del formato de fechas de MySQL y nunca tuve problemas...
Creo que con ajustar la propiedad DataType del parámetro a ftDate debería ser igual. ¿Por qué no lo intentas y nos dices qué pasa?

Cita:
Empezado por AzidRain Ver Mensaje
...En MySQL por ejemplo puedo hacer lo siguiente:

Código SQL [-]
  select dayof(:fecha)
y funciona perfectamente haciendo esto:
Código Delphi [-]
  MiQuery.ParamByNAme('fecha').AsDate := datepicker1.fecha;

Sin embargo ese mismo código no sirve para FB. Primero porque no hay tal función "DayOf" y segundo porque la función equivalente (que por cierto igual existe en MySQL) "extract" se niega a tomar los valores de un parámetro que se le pasen como fecha...
Vuelvo a lo mismo, ¿seguro que es un parámetro de tipo fecha (ftDate)? Cabe mencionar que Extract es parte del estándar SQL (por ello MySQL también la incluye), mientras que DayOf no. Tratándose de bases de datos, es muy recomendable apegarse lo más posible al estándar SQL para evitar problemas de compatibilidad, conversión o transición. Cada base de datos agrega algunos comandos y funciones muy particulares (y en ocasiones es bueno utilizar éstos), pero algo que me gusta de InterBase / Firebird es el cuidadoso respeto que le tiene al estándar SQL.

No dejes de retroalimentar el hilo para llegar al punto justo de la verdad.

Saludos afectuosos.

Al González.
Responder Con Cita