Buscador

12/02/2004 - 19:08 por Giox | Informe spam
Hola Tengo la siguiente pregunta
estoy haciendo un buscador en ASP de unos contactos de la siguiente forma

un formulario con criterios
nombre, fecha de creacion, area a la que pertenece

cuando lo proceso viene la duda porque el form puede venir sin criterios
osea una consulta generica

SELECT * FROM EMPLEADOS

pero cmo saber si viene algo en la variables es decir

si viene algun criterio tengo que hacer los siguiente como meteria el WHERE

SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%'

ademas si viene otro criterio como meteria el AND

SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%' AND AREA = 1

Mil gracias por alguna sugerencia

Preguntas similare

Leer las respuestas

#11 Giox
12/02/2004 - 21:46 | Informe spam
Jhonny para una tabla pequeña me parece muy buena pero no crees que una
tabla ya de varios (muchos) campos podria ser un poco engorroso??

Saludos
Giox

"Jhonny Vargas P." escribió en el mensaje
news:
Revisa la respuesta que te acabo de dar...


"Giox" escribió en el mensaje
news:
> la probe y me gusto
> mil gracias
>
> "Freddy Cáceres" escribió en el mensaje
> news:
> > yo tengo algo parecido en un SP por ahy y tb es para contactos y lo


hice
> > así.
> >
> > dos variables:
> >
> >
> > @vcSelect = "Select * from Tabla"
> >
> > if parametro1 <> "" then Condicion = " Parametro1= " & parametro1 & "
and
> "
> > if parametro2 <> "" then Condicion = Condicion & " Parametro2= " &
> > parametro2 & " and "
> > if parametro3 <> "" then Condicion = Condicion & " Parametro3= " &
> > parametro3 & " and "
> >
> > 'y finalmente rematamos agregando where(al cominezo) y quitando un
posible
> > and
> > if Condicion <> "" then Condicion = " Where " & mid(Condicion,1,
> > len(Condicion)-4)
> >
> > 'SQL final
> > @vcSelect & Condicion
> >
> > y eso seria Tutty si no viene ningun parametro Condicion estara vacio


y
el
> > execute solo ara el select a la tabla.
> >
> > Saludos
> > -
> > Freddy Cáceres
> > Santiago - Chile
> >
> > "Giox" escribió en el mensaje
> > news:%
> > > Hola Tengo la siguiente pregunta
> > > estoy haciendo un buscador en ASP de unos contactos de la siguiente
> forma
> > >
> > > un formulario con criterios
> > > nombre, fecha de creacion, area a la que pertenece
> > >
> > > cuando lo proceso viene la duda porque el form puede venir sin
criterios
> > > osea una consulta generica
> > >
> > > SELECT * FROM EMPLEADOS
> > >
> > > pero cmo saber si viene algo en la variables es decir
> > >
> > > si viene algun criterio tengo que hacer los siguiente como meteria


el
> > WHERE
> > >
> > > SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%'
> > >
> > > ademas si viene otro criterio como meteria el AND
> > >
> > > SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%' AND AREA = 1
> > >
> > > Mil gracias por alguna sugerencia
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#12 Giox
12/02/2004 - 21:47 | Informe spam
muchas gracias lo tendre en cuenta


"Manuel Etcheto" escribió en el
mensaje news:f9e101c3f1a7$a5b91af0$
Hola Giox
Una sugerencia es que no uses nunca sql dinámico
(seguridad=nula, performance=pésima, etc.)

Otra: Ejecutar sql dinámico desde dentro de un stored
procedure (@consulta = 'WHERE...') va a seguir siendo tán
ineficiente como lanzar una query desde asp...

Última: Crea 3 o 5 procedures (como posibilidades tengas
en la búsqueda) que al ser parametrizados serán eficientes
cada uno en su plan de ejecución. Utiliza 1 command al que
en la capa de lógica (asp o lo que fuere) le asignas el SP
adecuado con los parameters que correspondan, validados
como siempre...

Suerte
Manuel

PD: Si aún quieres una concatenación sencilla
SQL = "SELECT * FROM tabla WHERE 1 = 1"
If a Then SQL = SQL & " AND campoA = valorA"
If b Then SQL = SQL & " AND campoB = valorB"
If c Then SQL = SQL & " AND campoC = valorC"
...

Hola Tengo la siguiente pregunta
estoy haciendo un buscador en ASP de unos contactos de la


siguiente forma

un formulario con criterios
nombre, fecha de creacion, area a la que pertenece

cuando lo proceso viene la duda porque el form puede


venir sin criterios
osea una consulta generica

SELECT * FROM EMPLEADOS

pero cmo saber si viene algo en la variables es decir

si viene algun criterio tengo que hacer los siguiente


como meteria el WHERE

SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%'

ademas si viene otro criterio como meteria el AND

SELECT * FROM EMPLEADOS WHERE NOMBRE LIKE '%EMPLEADO%'


AND AREA = 1

Mil gracias por alguna sugerencia


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida