none
Función generalizada para busqueda en una base de datos RRS feed

  • Pregunta

  • Hola, estoy con un proyecto académico de egreso en el cual estoy teniendo algunas dificultades con la parte de programación.
    Los requisitos del mismo apuntan a armar un sistema de facturación para lo que sería una tienda de informática, utilizando una base de datos remota con motor MySQL (ya esta armada y en un servidor) y la cuestión ahora es la parte de funciones para que se realicen altas, bajas y modificaciones.
    Las consultas en la BD que desarrollamos no son complejas, la cuestión es como generalizar todas las búsquedas posibles en una función sola y no armar una función por cada caso de uso de búsqueda (osea cada tabla distinta con sus atributos, como pueden ser Usuarios, Clientes, etc).

    Obviamente que al querer generalizar, se esta programando por capas, ya se logro un login exitosamente. Ahora la cuestión es como llegar a esto para tener una función genérica:


    [Comando][Atributos] FROM [tablas] Where [condicion]

    Motor de Búsqueda

    Comando siempre es Select para este caso
    Atributos es un elemento VARIABLE
    FROM
    [tabla] es un elemento VARIABLE
    Siempre se utilizará Where para estos casos de busqueda
    [Condicion] es un elemento VARIABLE

    Se supone que dentro de la condición es donde se igualan los atributos a las variables (ingresos de usuario en los controles)
    Atributos es la deteccion de los atributos de la base de datos que se seleccionan, cuando los mismos no sean vacios (en el programa, cuando el usuario ingresa texto en cada uno de ellos)
    La otra cuestión es la detección automática de la tabla a utilizar.

    Dentro de lo que sería la función llamada "MotorBusquedas", si alguien tiene alguna idea con este tipo de situaciones, voy a estar muy agradecido (aunque sea una idea de como encararlo).
    Saludos
    • Cambiado Enrique M. Montejo martes, 15 de septiembre de 2015 14:52 Pregunta relacionada con el acceso a datos con MySQL.
    domingo, 13 de septiembre de 2015 18:01