Ver Mensaje Individual
  #1  
Antiguo 19-03-2009
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Reputación: 18
Kenobi Va por buen camino
Busqueda generica en tabla y query

Hola que tal....
Normalmente para buscar un elemento en una tabla uso locate y para buscar un elemento en un query lo hago parametrizando la consulta...
Código Delphi [-]
query.params.paramvalues['NombreParametro']:=ValorABuscar;
ahora bien lo que quiero es hacer algo generico, me gustaria parametrizar las tablas algo asi

Código Delphi [-]
Function Buscar_Registro(CampodelaTabla:Variant;Tabla:TDataSet):boolean;
begin

  Abrir(Tabla);
    If Tabla.Locate(QuotedStr(CampodelaTabla),Codigo,[]) then  Result:=true
                  else
                  Begin
                  Application.MessageBox('Registro no encontrado','Aviso al Usuario',MB_ICONWARNING+MB_OK);
                  Result:=false;
                  End;

end;

el problema con este codigo es eso muchos parametros, lo que quisiera es poder parametrizar la tabla

Código Delphi [-]
Function Buscar_Registro(Valor:string;Tabla:TDataSet):boolean;
begin

  Tabla.Close
 Tabla.param.paramvalues(Quotedstr(NombreParametro):=valor
 Tabla.open;

if not Tabla.eof the  Result:=true
                  else
                  Begin
                  Application.MessageBox('Registro no encontrado','Aviso al Usuario',MB_ICONWARNING+MB_OK);
                  Result:=false;
                  End;

end;

el problema es que el tipo tabla no me acepta la propiedad params sin embargo si dentro de cualquier procedure hago esto

Código Delphi [-]
 Gente.Close
 Gente.param.paramvalues(Quotedstr(NombreParametro):=valor
 Gente.open;
funciona, la unica diferencia es que estoy llamando la tabla por su nombre y no de forma generica .....

Gracias por sus comentarios ....
Responder Con Cita