Por supuesto:
Código Delphi
[-]
query1.sql.text := 'select * from tabla where claveprimaria = :clave'
query1.parambyname('clave').AsXXXX := lo que sea
query1.Open;
Olvídate del findkey y locate en estos Sistemas Gestores de Bases de Datos (SGBBDD). Aquí se trata de buscar solo el registro que hace falta, nada de traer al ordenador cliente los 3 millones de registros de la tabla para después usar un Locate o Findkey.
Saludos