Hola, gracias por la aclaracion.
Nombras las condiciones TCondicionComparacion, TCondicionInclusion, TCondicionLike, TCondicionNull, TCondicionSeleccion. Tienes algun ejemplo de cada una?
Supongamos que tenemos la tabla "Barrio" con:
BarrioID: Clave primaria, numérica.
CiudadID: FK a la tabla de ciudades, numérica.
Descripcion: String
TCondicionComparacion.Create(TFabricaCampoBarrio.BarrioID, tcIgual, 1);Se traduce a "WHERE BarrioID=1"
var
ColInclusion: TColeccionInclusion;
begin
ColInclusion:= TColeccionInclusion.Create;
ColInclusion.Agregar(1);
ColInclusion.Agregar(2);
ColInclusion.Agregar(3);
TCondicionInclusion.Create(TFabricaCampoBarrio.BarrioID, ColInclusion);Se traduce a "WHERE BarrioID in(1, 2, 3)"
TCondicionLike.Create(TFabricaCampoBarrio.Descripcion, 'Urqui%');Se traduce a "WHERE Descripcion LIKE 'Urqui%'
TCondicionNull.Create(TFabricaCampoBarrio.CiudadID);Se traduce a "WHERE CiudadID is null"
TCondicionSeleccion.Create(TFabricaCampoCiudad.CiudadID, TFabricaCampoBarrio.CiudadID, nil, nil, nil, nil, true);Se traduce a "WHERE CiudadID in (select CiudadID from Ciudad)"
Todos los nil de esta condición son cosas que te permiten filtrar el select que se genera.
Espero haber sido claro, cualquier cosa, estoy a vuestra disposición.
Saludos cordiales