Ver Mensaje Individual
  #4  
Antiguo 06-10-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Cita:
Posteado originalmente por acrophet
Si uso un Ibquery (uso interbase), ya no tengo que usar un ibtable?
trabajando con IBX, lo que se aconseja para la actualización de datos es el uso del TIBDataset. Una explicación en el foro de su utilización

http://www.clubdelphi.com/foros/show...&threadid=2490


Cita:
Posteado originalmente por acrophet
Cuantos necesito? con uno basta?
depende de la manera de programar que tengas. Yo, personalmente, no tengo ninguno y, cuando necesito lanzar un SQL, lo que hago es crear el objeto dinámicamente y luego destruirlo (por ejemplo para los campos calculados,....)

Cita:
Posteado originalmente por acrophet
A la hora de introducir las sentencias sql, donde las meto? en el command text editor del ibquery? en el codigo fuente? que diferencia hay de uno a otro?
Las sentencias SQL las tienes que poner en la propiedad SQL (de tipo TStrings) del TIBQuery. Da lo mismo que lo hagas por código o en diseño, el resultado es el mismo. Dependerá también del tipo de programación que hagas.

Cita:
Posteado originalmente por acrophet
tengo una bd con varias tablas, entre ellas una con nombre y otra con apellidos. Uso un campo calculado para mostrar ambos en un dblookuplistbox.
Quiero poder hacer busquedas por apellido, y que me muestre el resultado, pero en el formato del campo calculado. Es decir apellidos+nombre, pero buscando por el apellido. Todo esto al pulsar un boton de buscar o algo similar.
puedes hacer algo así

Código:
procedure LoQueSea; // por ejemplo el OnClacFields
var
  Q : TIBQuery;
begin
  Q := TIBQuery.Create(Self);
  Q.TDataBase := IBDataBase1;
  try
    Q.SQL.Add('select a.nombre || b.apellido');
    Q.SQL.Add('from nombre a left outer join apellidos b on');
    Q.SQL.Add('         (condiciones de unión de las 2 tablas)');
    Q.SQL.Add('where a.nombre like ''%' + MiNombre + '%'' ');
    Q.Open;
  finally
    FreeAndNil(Q);
  end;
end;
Más o menos sería algo así

Espero te sirva
Responder Con Cita