Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas con AdoQuery / Parametros (https://www.clubdelphi.com/foros/showthread.php?t=55526)

mateamargo 18-04-2008 19:30:10

Problemas con AdoQuery / Parametros
 
Hola,
Tengo la siguiente consulta hecha con Ado
Código Delphi [-]
     ConxDatos.Open;
      Datos.Close;
      Datos.SQL.Text := 'select * from Tirilla where (tirfec >= :pfechad) and    (tirfec <= :pfechah)';
    Datos.Parameters.ParamByName('pfechad').Value    := fechade;
    Datos.Parameters.ParamByName('pfechah').value    := fechaha;
    Datos.open;
Cuando ejecuto me da el siguiente error 'parameter pfechad not found'
si hago el select sin el where me trae todos los registros correctamente..
El archivo al que estoy accediendo es un DBF (TIRILLA.DBF).
Que puedo estar haciendo mal ?
Desde ya muchas gracias:confused:

MaMu 18-04-2008 19:59:33

Los parámetros pfechad y pfechah están asiganandose, pero como están creados? (TParamenters).
ADOQuery>Paramaters>[0]name>pfechad ?
Otra cosa, y asumo que es una rango de fechas, "d" desde y "h" hasta, entonces porque no usar BETWEEN.

mateamargo 18-04-2008 20:04:43

Si asi es como estan asignados
 
Los parámetros estan definidos.

MaMu 18-04-2008 20:17:45

Cita:

Empezado por mateamargo (Mensaje 281082)
Los parámetros estan definidos.

DataType=ftDate ?
Direction=pdInput ?

BlueSteel 18-04-2008 20:50:55

Yo utilizo la siguiente forma para insertar con ADO

Código Delphi [-]
AQ_Actualiza.Close;
AQ_Actualiza.SQL.Clear;
AQ_Actualiza.SQL.Add('Insert Into Cliente(Cli_Rut, Cli_Razon, Cli_Fecha)');
AQ_Actualiza.SQL.Add('Values (:v01, :v02, :v03)');
AQ_Actualiza.Parameters[0].Value := vRut.Text;
AQ_Actualiza.Parameters[1].Value := vRaz.Text;
AQ_Actualiza.Parameters[2].Value := vFecha.Date;
AQ_Actualiza.ExecSQL;

Salu2:p:D

Editado: se me fue.. era seleccion no insercción

Código Delphi [-]
Datos.AQ_Horario.Close;
Datos.AQ_Horario.SQL.Clear;
Datos.AQ_Horario.SQL.Add('Select Personal.Per_Nro, Personal.Per_Nombre, Personal.Per_Paterno, Personal.Per_Materno, Horario.Hor_Tipo, Horario.Hor_Fecha');
Datos.AQ_Horario.SQL.Add('FROM  Horario INNER JOIN Personal ON Horario.Per_Nro = Personal.Per_Nro');
Datos.AQ_Horario.SQL.Add('And Horario.Per_Nro=:Var1');
Datos.AQ_Horario.SQL.Add('And Horario.Hor_Fecha Between :Var2 And :Var3');
Datos.AQ_Horario.Parameters[0].Value := vFic.Text;
Datos.AQ_Horario.Parameters[1].Value := vFecD.Date;
Datos.AQ_Horario.Parameters[2].Value := vFecH.Date;
Datos.AQ_Horario.Open;

Salu2:p:D


La franja horaria es GMT +2. Ahora son las 03:45:07.

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