Hola al foro.
Tengo interés en saber vuestra opinión sobre 2 maneras de realizar consultas SQL dinámicas que conozco y que quiero decantarme por una de ellas.
Yo, y en contra de lo que suelo ver, genero el texto SQL así:
Código:
const
SQLSelect1 = 'SELECT CAMPO FROM TABLA WHERE CAMPO1= %d AND CAMPO2=''%s''';
begin
with TSQLQuery.Create do
....
SQL.Text := Format(SQLSelect1, [p1, p2]);
Open;
....
end;
Otra posible manera, sería:
Código:
const
SQLSelect1 = 'SELECT CAMPO FROM TABLA WHERE CAMPO1= :param1 AND CAMPO2=:param2';
begin
with TSQLQuery.Create do
....
SQL.Text := SQLSelect1;
Params[0].AsInteger := v1;
Params[1].AsString := v2;
Open;
....
end;
Es decir, la 1a. manera emplea la función Format y la 2a. manera genera parámetros al vuelo.
¿Qué es mejor? ¿Hay una mejor alternativa en generar SQL dinámicamente?
Saludos.