Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   No me agrega las lineas de SQL a mi adoquery (https://www.clubdelphi.com/foros/showthread.php?t=39286)

chetos7 16-01-2007 06:08:45

No me agrega las lineas de SQL a mi adoquery
 
Que onda, lo que pasa es que trato de hacer una consulta anidada, pero pareciera que mi adoquery se queda vacio. El codigo es el siguiente
Código Delphi [-]
 disp:='Disponible';
  fec:=DATETOSTR(DATETIMEPICKER1.Date);
  hr:=ComboBox5.Text;
Código SQL [-]
Datamodule4.ADOQuery3.SQL.Clear;
  Datamodule4.ADOQuery3.SQL.Add('select Equipo.Folio,Nom_equipo,Marca ');
  Datamodule4.ADOQuery3.SQL.Add(' from Equipo');
  Datamodule4.ADOQuery3.SQL.Add(' where Equipo.Estado=:disp and Equipo.Folio not in ');
  Datamodule4.ADOQuery3.SQL.Add(' (SELECT Apartado.Folio FROM Apartado WHERE Fecha_Prest=:fec AND Hr_Prest=:hr)');
  DAtamodule4.ADOQuery3.Parameters.ParamByName('disp').Value:=disp;
  Datamodule4.ADOQuery3.Parameters.ParamByName('fec').Value:=fec;
  Datamodule4.ADOQuery3.Parameters.ParamByName('hr').Value:=hr;
Código Delphi [-]
 Datamodule4.ADOQuery3.Open;
  if  Datamodule4.ADOQuery3.Eof then
     Showmessage('vacio');
  Datamodule4.DataSource3.DataSet:=Datamodule4.ADOQuery3;
  DBGrid1.DataSource:=Datamodule4.DataSource3;

El mensaje de vacio lo pongo para ver si me asigna las instrucciones a mi adoquery y siempre me manda el mensaje de vacio, osea que no tiene nada. Alg uien me puede decir donde esta el error. Porque no me manda nada a mi dbgrid, y si nada mas hago las primeras dos lineas de laconsulta,si sale y si me manda los datos al dbgrid, gracias de antemano

Bicho 16-01-2007 10:25:56

Hola, yo creo que el problema está en los parámetros, prueba de esta manera a ver que tal:

Código Delphi [-]
  DAtamodule4.ADOQuery3.ParamByName('disp').AsString := 'Disponible';
  Datamodule4.ADOQuery3.ParamByName('fec').AsDate    := DATETIMEPICKER1.Date;
  Datamodule4.ADOQuery3.ParamByName('hr').AsString    := ComboBox5.Text;
Diría que el problema están en la fecha cuando se la pasas por parámetro.

Sino es así, puedes poner un breakpoint justo antes de hacer el Open de la Query e obtener el valor de AdoQuery3.SQL.Text e intentar ejecutar eso en el cliente de la base de datos que tengas, quizá allí puedas ver que está ocurriendo.

Espero te sirva.

Saludo


La franja horaria es GMT +2. Ahora son las 00:11:32.

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