Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Problemas con Query campo tipo Date "Oracle" (https://www.clubdelphi.com/foros/showthread.php?t=131)

Marrano 06-05-2003 02:44:28

Problemas con Query campo tipo Date "Oracle"
 
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...


La franja horaria es GMT +2. Ahora son las 18:01:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi