La Web del Programador: Comunidad de Programadores
 
    Pregunta:  27079 - COMO PUEDO BUSCAR UN REGISTRO EN UN A BASE DE DATOS
Autor:  hugo martinez hernandez
Mi programa crea un archivo, tengo un porcedimiento que almacena datos en la base de datos y uno que muestra todos los datos....pero lo que no puedo hacer es buscar un determinado registro utilizando como campo llave el nombre de la persona.

Mi programa debe pedir el nombre de una persona, debe buscar el registro que tenga ese nombre y debe mostrar los datos de ese registro.

  Respuesta:  el cave
tengo un programa echo como el que vos describis, y si podes leer los datos de la base de datos con solo ingresar su nombre, o mejor dicho el numero correspondiente en tu base de datos, si queres escribime un mail, y te lo paso en formato .pas asi lo modificas a tu gusto. suerte

  Respuesta:  Rodolfo Burlando
Puedes crear un archivo indice de la base de datos.
El archivo indice debe estar ordenado del mejor metodo de ordenamiento que conoces.
La busqueda tambien debe ser por el mejor metodo de busqueda para archivos ordenados que conoscas.

En el archivo indice solo debes poner el campo indexado y el numero de registro en la base de datos. Cuando trabajes no dejes en ningun momento el archivo indice de lado, la idea es no desactualizarlo.

Si tienes problemas con archivos indices, lo mas facil seria hacer la busqueda dentro del mismo archivo de base de datos. sabiendo la estructura del registro:

record data
nombre:String[30];
edad: byte;
sexo : boolean;
end

te pones en el primer registro
seek(archivo,1);
ahora en un buque buscas y comparas
cuando encuentres sales del bucle y tienes el numero de registro.
Es algo lento, dicho sea de paso.