Ir al contenido


Foto

[RESUELTO] Consulta con parametros


  • Por favor identifícate para responder
25 respuestas en este tema

#21 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 06 enero 2011 - 11:10

El resultado dice que es    0  en el label donde muestro el COUNT de los registros, que estara pasando ?
  • 0

#22 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 06 enero 2011 - 11:21

¿Te aseguraste de que existan registros válidos en el rango de fechas que le pasaste a los parámetros?

Saludos,
  • 0

#23 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 06 enero 2011 - 12:58

Un buen consejo lsedr es que pruebes tus consultas desde el manejador de la base de datos antes de lanzarlas desde Delphi.


Saludos!
  • 0

#24 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 06 enero 2011 - 07:51

Si Delphius hay 2 clientes registrados

Feliepe es que la conexion la hago con ADO y desde delphi a SQL server 2005

Estoy haciendo dos consultas en dos ADOquery diferentes, pero ejecutadas desde un mismo boton. Esto es lo que tengo para mas claridad:

Esto en el ADOquery 1 en su propiedad SQL:



delphi
  1. SELECT Cliente_No, Fecha_Hora, Nombres
  2. FROM Clientes
  3. WHERE Fecha_Hora >= :MiParametro1
  4. AND Fecha_Hora<=:MiParametro2;



Esto en el ADOQuery 4:


delphi
  1. SELECT COUNT (Cliente_No) AS Cantidad FROM Clientes
  2. WHERE Fecha_Hora BETWEEN :MiParametro1 AND :MiParametro2;



Esto en el boton:



delphi
  1. //PRIMERA CONSULTA FUNCIONA OK !
  2. ADOquery1.Close;
  3. ADOQuery1.Parameters.ParamByName('MiParametro1').DataType := ftDate;
  4. ADOQuery1.Parameters.ParamByName('MiParametro1').Value := DateTimePicker1.Date;
  5. ADOQuery1.Parameters.ParamByName('MiParametro2').DataType := ftDate;
  6. ADOQuery1.Parameters.ParamByName('MiParametro2').Value := DateTimePicker2.Date;
  7. ADOquery1.Open;
  8.  
  9. //SEGUNDA CONSULTA NO FUNCIONA
  10. ADOquery4.Close;
  11. ADOquery4.Open;
  12. Label4.Caption := ADOQuery4.Fields[0].asString;






  • 0

#25 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 enero 2011 - 07:58

Pues no, no va a funcionar, la consulta que funciona es la del ADOQuery1 porque es donde estas pasando los parámetros, el ADOQuery4 no está recibiendo ningún parámetros.



delphi
  1. ADOquery1.Close;
  2. ADOQuery1.Parameters.ParamByName('MiParametro1').DataType := ftDate;
  3. ADOQuery1.Parameters.ParamByName('MiParametro1').Value := DateTimePicker1.Date;
  4. ADOQuery1.Parameters.ParamByName('MiParametro2').DataType := ftDate;
  5. ADOQuery1.Parameters.ParamByName('MiParametro2').Value := DateTimePicker2.Date;
  6. ADOquery1.Open;
  7.  
  8. ADOQuery4.Close;
  9. ADOQuery4.Parameters.ParamByName('MiParametro1').DataType := ftDate;
  10. ADOQuery4.Parameters.ParamByName('MiParametro1').Value := DateTimePicker1.Date;
  11. ADOQuery4.Parameters.ParamByName('MiParametro2').DataType := ftDate;
  12. ADOQuery4.Parameters.ParamByName('MiParametro2').Value := DateTimePicker2.Date;
  13. ADOquery4.Open;
  14. Label4.Caption := ADOQuery4.Fields[0].asString;



Salud OS
  • 0

#26 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 06 enero 2011 - 08:33

Gracias a todos por sus aportes de tanto valor.
  • 0




IP.Board spam blocked by CleanTalk.