Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   TQuery (https://www.clubdelphi.com/foros/showthread.php?t=31912)

nenufer 22-05-2006 10:23:16

TQuery
 
Buenos dias!!
Estoy utilizando un dblookupcombobox que me muestra todos los clientes que tengo. El loockupcombobox es un campo de una tabla que se relaciona con la de clientes y es una de las columna de un grid.
Tengo un Tquery y un Datasource.
Relaciono el datasource con el Tquery y el Tquery con el databasename.
Y rellena la propiedad Sql de forma dinamica.Quiero que me muestre todos los clientes que no esten dados de baja. Tengo un procedimiento :

Código Delphi [-]
procedure QueryClientes();
begin
 clear;
 Query.sql.add('select *');
 Query.sql.add('from clientes');
 query.sql.add('where Fecha_baja is null');
 query.execsql;
end;

Entonces lo siguiente que hago es relacionar el query con el campo looupup de la tabla. Pero me siguen saliendo todos. Al procedimiento lo llamo en el oncreate del formulario.

Me falta algo por hacer?. Si lo hago lo hago sin procedimiento,directamente en la propiedad sql. Si que me lo muestra como quiero pero no me refresca. Hago un query.refresh. Pero no hace nada, hay alguna otra forma de refrescar para que me funcione?

gracias.

Sotrono 22-05-2006 13:37:42

Hola, proba con esto:

Código Delphi [-]
procedure QueryClientes();
begin
  with Query1 do begin
    Close; //Cerras la consulta que estaba abierta
    SQL.Clear;
    SQL.Add('select *');
    SQL.Add('from clientes');
    SQL.Add('where Fecha_baja is null');
    Open; //Abris la nueva consulta
  end;
end;

ExecSQL se utiliza para consultas de modificacion, como DELETE, INSERT, etc.

Bytes!!

nenufer 22-05-2006 16:41:03

Buenas!! Gracias por contestar. :)
He puesto el open y la llamada en el oncreate. El campo lookup(lookupcombobox) donde muestro los clientes lo relaciono con el query con la propiedad lookupdataset. Me compila y cuando voy a utilizar ese formulario me da un error : Invalid use of keyword. Token:select.
Es necesario que lo relacione con el campo lookup,no?
Si lo hago en tiempo de diseño, funciona.
Pero me gustaria hacerlo en tiempo de ejecucion

En tiempo de ejecucion la propiedad sql del componente,tengo que rellenarla con algo para poder ejecuta, no?
Gracias:)


La franja horaria es GMT +2. Ahora son las 21:18:12.

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