Aquí un humilde TSelectString para crear al vuelo y modificar los sqls.
Se trata de trocear un Sql en Secciones ( el select, el from, el where, etc), poder acceder a cada una de ellas y modificarlas con algo de comodidad.
Código Delphi
[-]
var ss: TSelectString;
begin
ss := TSelectString.Create;
ss.text := 'select * from tabla where nombre = ' + edit2.text;
if BuscaApellido then
ss.AddToWhere(oAnd, 'apellido = '+edit1.text);
if ordenaApellido then
ss.AddToSection(pOrderBy, 'Apellido Desc');
ShowMessage(ss.Text);
query1.sql.text := ss.text;
ss.Free;
query1.open;
ss.Sections[pFrom] --> te devolverá desde la palabra "FROM " hasta el "where " (o el final del sql);
No es una versión definitiva, pero algo es algo.
Edito:
- hay algunas unidades que no las tendréis, borrarla del uses, no las utiliza.
- "saltolinea" es una constante definida como const saltolinea = #13#10
- Creo eso es todo....
Saludos