![]() |
Consulta SQL
Hola tengo una duda que para ustedes debe ser fácil resolver.
Tengo una base de datos con campos como nombre, edad, Lugar y un campo boolean. en el SQL detallo: Select * From Gente Where Nombre = :dato Order By Nombre. Como puedo hacer para cambiar "ese where" y consultar por edad lugar order etc? Hay que filtrar? como se hace porque de sql no se tanto Gracias. |
Hola sac.
Si entendí bién lo que queres hacer, podrías hacer:
Saludos. :) |
Cita:
SELECT => Sirve para modificar los campos o datos de consulta. WHERE => Sirve para definir (según los datos anteriores) qué registros de la tabla quieres recuperar. ORDER => De los datos que se muestran, en qué orden los quieres. Si quieres ver los mismos campos, pero con otros datos, deberás cambiar el WHERE (que es lo que yo he entendido) |
No anda
Ecfisa eso es lo que quisiera escribir pero no me lo toma
y parece poco eficiente tener 30 sql uno por cada campo que quisiera consultar. que puede estar fallando porque es casi literal tu código al que pensé y escribi. |
Yo hago lo siguiente, un formulario con un Radiogroup para capturar lo que quiere el usuario:
Y luego en el formulario de consulta armo el SQL, según la opción seleccionada:
Un Saludo |
Así Funciona
Para ayudar a alguno que lo necesite a mi me funcionó de ésta manera:
También podría haber usado un case en lugar del if Espero que se haya entendido pero de ésta manera me funcionó |
claro sac
lo mas recomendable en esos caso es ir armando una cadena segun los requerimientos y/o parametros de la aplicacion bien hecho |
Yo en estos casos lo que hago es lo siguiente:
Siempre construyo las consultas con el siguiente truco en el WHERE
Otro es poner marcas de sustitución en el SQL:
Cada una de estas marcas o comentarios los sustituyo por lo que corresponda en función de lo que haya seleccionado el usuario. En mi caso todas las SQL de las aplicaciones están en BBDD y se leen y cargan donde y cuándo son requeridas. |
PepeLolo cómo sustituís me podés dar un ejemplo? xq ese código parece muy bueno
|
Cita:
En el evento Oncreate del form lo que se hace es reservar la SQL original Luego donde corresponda se sustituyen las marcas, yo siempre lo hago en el evento BeforeOpen de los componentes de datos
Con ORDER BY, lo mismo. He puesto un ejemplo basico para que te hagas una idea y lo comprendas. Este modelo lo puedes complicar mucho, hasta convertirlo en completamente dinámico. En mi caso, no hay una instrucción DML en la aplicación, todas se encuentran almacenadas en la BBDD y se recuperan en función del formulario y componentes de este. |
La franja horaria es GMT +2. Ahora son las 23:32:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi