PDA

Ver la Versión Completa : Problemas con Query campo tipo Date "Oracle"


Marrano
06-05-2003, 02:44:28
Hola :

Antes que nada felicitarlos por el foro que les quedo de pelicula.

Bueno soy nuevo y porsupuesto tengo un problema

Se trata que al hacer un query por la condición de un campo de tipo "Date" a una tabla en Oracle me arroja un error y no tengo idea por que :

Ej :

Fecha_Desde := Fecha_SQL(DateToStr(Campo_FechaDesde.Date));
Fecha_DesdeN := Copy(Fecha_Desde,7,4)+'/'+Copy(Fecha_Desde,4,2)+'/'+Copy(Fecha_Desde,1,2);

MD.Query2.Connection := MD.Tabla_Mensual.Connection;
MD.Query2.Close;
With Md.Query2.SQL do
begin
Clear;
Add('SELECT *');
Add('FROM TEMP_RV_RANGO_MENSUAL');
Add('WHERE');
Add('FECHA_INI >= CAST('+Fecha_DesdeN+' AS DATE)');
End;
MD.Query2.Open;

Error : Inconsistent Datatypes

Por fa, alguien quien me tire un salvavidas

De antemano muchisimas gracias

LBriceno
06-05-2003, 04:13:14
Hola Ronald:

Bueno, yo no he trabajado con Oracle, pero creo que el problema puede ir por el formato de la fecha que le ingresas. Veo que ocupas el formato yyyy/mm/dd. Bueno, estas seguro que es el formato que te sirve???
p.e. en SQL Server se utiliza mm-dd-yyyy

Creo que lo mejor es trabajar con parámetros, asi te ahorras el problema del formato al pasar de String a fecha y viceversa.
Algo asi:
SELECT *FROM TEMP_RV_RANGO_MENSUAL
WHERE FECHA_INI >= :Fecha
donde 'Fecha' es un parámetro de tipo TDateTime

Bueno, no se si te ayudé algo o no, ojalá que si
Saludos
Luis Briceño

Marrano
06-05-2003, 22:30:26
Hola :

Luis te pasaste me funciono, lo hice con parámetros y ningún problema.

Muchas Gracias... eso si se pueden pasar parámetros en un INSERT INTO..???

Chaolin..


__________________

ZAFORAS
07-05-2003, 09:02:11
Hola:

prueba con la función TO_DATE:

SELECT *FROM TEMP_RV_RANGO_MENSUAL
WHERE FECHA_INI >= TO_DATE('15/10/1974','DD/MM/YYYY')


Saludos

Tanix
27-05-2003, 12:09:56
Hola, veo que la ultima pregunta que hizo marrano no la erespondio nadie. Y si, si se pueden pasar parametros a un INSERT, en realidad el uso de parametros es mas que aconsejable... seria tna simple como esto:

INSERT INTO (CAMPO_1, CAMPO_2)
VALUES(:PARAMETRO_1, :PARAMETRO_2)

Salu2...