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

#6 Giox
12/02/2004 - 20:17 | Informe spam
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
#7 Jhonny Vargas P.
12/02/2004 - 21:11 | Informe spam
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
#8 Manuel Etcheto
12/02/2004 - 21:34 | Informe spam
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


.

Respuesta Responder a este mensaje
#9 Freddy Cáceres
12/02/2004 - 21:41 | Informe spam
"WHERE 1 = 1", jejejej.
esta buena esa.


Saludos
-
Freddy Cáceres
Santiago - Chile

"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


.

Respuesta Responder a este mensaje
#10 Giox
12/02/2004 - 21:45 | Informe spam
si esa es la tipica si no que no queria hacerla por ese lado
porque por lo general en una auditoria del codigo no seria esa la solucion
valida

"Freddy Cáceres" escribió en el mensaje
news:
"WHERE 1 = 1", jejejej.
esta buena esa.


Saludos
-
Freddy Cáceres
Santiago - Chile

"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
>
>
>.
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida