Cita:
Empezado por Casimiro Notevi
No puedes pasar el nombre de un campo como parámetro.
|
Hola, creo que si se puede de hecho lo estoy haciendo en este momento, claro con algo mas en el código:
tengo 2 tquery
personas:
Código SQL
[-]
SELECT * from personas WHERE campo=:dNI
autos:
Código SQL
[-]
SELECT * from autos WHERE campo=:matricula
Código Delphi
[-]
procedure cargar_query(nombreParametro,valorParametro:String;
begin
query.close;
query.paramByName(nombreParametro).asVariant := valorParametro;
query.open;
end;
y luego para llamar al procedure pues :
Código Delphi
[-]
cargar_query('DNI','007'); cargar_query('matricula','bmw-007');
a lo que me refiero es que le puedo pasar el nombre y el valor de un parametro al paramByName ya que lo que espera es un String ....
claro que es lo que falta pues como decir con un parametro cual es la query en cuestion, lo intente con
Código Delphi
[-]procedure cargar_query(query:TdataSet;nombreParametro,valorParametro:String);
begin
query.close;
query.paramByName(nombreParametro).asVariant := valorParametro; query.open;
end;
mi idea es hacer algo asi
Código Delphi
[-]
tquery(query).paramByName(nombreParametro).asVariant:=valorParametro;
, pero no funciona
y alli esta el detalle ....lo que quiero es hacer ese casting y eliminar muchas declaraciones de este procedure para cada query en particular y asi reduciria mucho el codigo ...
Saludos ...