PDA

Ver la Versión Completa : Operadores de comparación...


dunia_lv
05-07-2005, 22:15:32
Hola:

Tengo una pantalla que realiza búsquedas en un tabla bien cargada. Esta búsqueda puede ser también por valores numéricos es decir. Tengo un listado de productos que tienen determinada descripción y precio. Por ejemlo quiero buscar todos los conjuntos de ropas femeninas que cuesten menos de 10 pesos ó quiero buscar los zapatos de hombres que cuesten 13 pesos o más, ó quiero buscar un producto que se encuentre entre dos determinados rangos de precios.
Bien yo quiero ver de que manera puedo sustituir en la consulta de sql
los operadores de operación. Es decir si el usuario realiza una búsqueda de un producto por encima de un precio utilizar el operador '>', si es por debajo del precio '<'...así sucesivamente según la preferencia del usuario..

Se podrá realizar?

Saludos

Dunia

edgusano
06-07-2005, 15:50:59
Me parece que podrias tener un stored procedure para que realice esta labor.

Lepe
06-07-2005, 17:05:46
Para ello tendrías que construir la consulta a mano, es decir, el usuario tiene en pantalla:
- una caja para escribir el producto que busca (llamado EditProducto)
- un combo con 3 filas, en la primera fila el simbolo Mayor, en la segunda el menor, y en tercera fila el símbolo igual.(llamado ComboOperador)
- Por ultimo una caja para escribir el precio. (llamdo editPrecio)

La consulta puedes crearla más o menos así:

var sql:String;
sql := 'select nombreProducto, precio from articulos where ';
sql := sql + ' NombreProducto = ' + QuotedStr(editProducto.text)+ ' and ' +
' Precio '+ comboOperador.items[comboOperador.Itemindex]+ ' '
+editPrecio.text;
Consulta.Sql.TExt := sql;
Consulta.Open;


Suponiendo que busca zapatos con precio mayor a 10 pesos, la consulta en tiempo de ejecución quedará:

select NombreProducto, precio from articulos where
NombreProducto = 'zapatos' and Precio > 10


Un saludo

dunia_lv
06-07-2005, 18:11:56
Muchas gracias por la ayuda y sus respuestas....:D