Foros del Web » Programando para Internet » ASP Clásico »

Buscar 2 campos en una BD

Estas en el tema de Buscar 2 campos en una BD en el foro de ASP Clásico en Foros del Web. mi tabla es asi: -nombres -paterno -materno si busco un solo campo de la siguiente manera, me desplega los resultados sin ningun problema: buscar="JUAN" SQL="SELECT ...
  #1 (permalink)  
Antiguo 19/06/2003, 14:44
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Buscar 2 campos en una BD

mi tabla es asi:
-nombres
-paterno
-materno

si busco un solo campo de la siguiente manera, me desplega los resultados sin ningun problema:

buscar="JUAN"
SQL="SELECT * FROM tabla WHERE nombres LIKE '%"&buscar&"%' OR paterno LIKE '%"&buscar&"%' OR materno LIKE '%"&buscar&"%' "

pero
si hago lo siguiente:
buscar="JUAN PEREZ"
SQL="SELECT * FROM tabla WHERE nombres LIKE '%"&buscar&"%' OR paterno LIKE '%"&buscar&"%' OR materno LIKE '%"&buscar&"%' "

no me encuentra nada


alguien puede ayudarme?????????

Última edición por pcarvajal; 19/06/2003 a las 14:44
  #2 (permalink)  
Antiguo 19/06/2003, 15:00
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 23 años, 3 meses
Puntos: 0
POR QUE NO LO HACES POR SEPARADO

buscar="JUAN"
buscar2="PEREZ"
SQL="SELECT * FROM tabla WHERE nombres LIKE '%"&buscar&"%' OR paterno LIKE '%"&buscar2&"%' OR materno LIKE '%"&buscar2&"%' "

incluso podrias hacerlo sin ocupar el like
  #3 (permalink)  
Antiguo 19/06/2003, 15:08
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
es que estoy haciendo una busqueda con un solo campo, no se si me entiendes, o sea hago esto:

buscar=Request.Form("buscar")
. . .
luego la consulta con el like que puse mas arriba.
Buscando un solo campo me funciona, pero con dos se me va a las pailas
  #4 (permalink)  
Antiguo 19/06/2003, 15:19
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
pero si buscás "JUAN PEREZ" y no devuelve nada, quiere decir que no existe ningún registro que contenga a "juan perez" en ninguno de los tres campos... y si no existe, listo.. ¿o lo querés inventar?

no entiendo

perdooonnn... se me olvidó preguntar una cosa:

cuando sólo buscás "JUAN", te devuelve algún registro que contenga "JUAN PEREZ"?
  #5 (permalink)  
Antiguo 19/06/2003, 16:21
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
supongamos que SI existe un JUAN PEREZ...
en ese caso no me lo desplega
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #6 (permalink)  
Antiguo 19/06/2003, 16:52
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
supongamos?

pues si suponemos que EXISTE un registro con el contenido hola juan perez, como va? y vos buscás JUAN o JUAN PEREZ... entonces: SI TE LO DESPLIEGA (o devería)

o sólo estás suponiendo que no lo desplegaría cuando digiste "supongamos"?

ahora, si te interesa, te dejo un ejemplo para busca tanto "JUAN PEREZ" como sólo "JUAN" o sólo "PEREZ" en los tres campos:



buscar=Request.Form("buscar")
buscar = split(buscar, " ")

SQL="SELECT * FROM tabla WHERE "

For i = 0 to UBound(buscar)
SQL = SQL & "nombres LIKE '%" & buscar(i) & "%' OR paterno LIKE '%"& buscar(i) &"%' OR materno LIKE '%"& buscar(i) &"%' "
If i <> Ubound(buscar) then SQL = SQL & " OR "
Next
  #7 (permalink)  
Antiguo 19/06/2003, 17:11
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
dazuaga, ese codigo que pusiste no me funciona

>invalid SQL statement
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #8 (permalink)  
Antiguo 20/06/2003, 08:10
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
y mas encima es justo lo que necesito y nunca les supe explicar
  #9 (permalink)  
Antiguo 20/06/2003, 10:04
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
soy un inutil
mal dia :(
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #10 (permalink)  
Antiguo 20/06/2003, 10:30
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
no funciona?
Es probable... lo escribí a las apuradas sin comprobarlo


dejá que en un rato, cuando termine de mover mensajes, la reviso
  #11 (permalink)  
Antiguo 20/06/2003, 10:33
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
gracias estare atento
  #12 (permalink)  
Antiguo 20/06/2003, 11:35
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
mmm... no le veo nada raro.
al hacer el response.write SQL me devuelve:

SELECT * FROM tabla WHERE nombres LIKE '%JUAN%' OR paterno LIKE '%JUAN%' OR materno LIKE '%JUAN%' OR nombres LIKE '%PEREZ%' OR paterno LIKE '%PEREZ%' OR materno LIKE '%PEREZ%'

por qué no ponés el resultado que a vos te devuelve al "responwritarla"?
__________________
...___...
  #13 (permalink)  
Antiguo 20/06/2003, 11:51
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
esto me arroja:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC driver for Oracle][Oracle]ORA-00900: invalid SQL statement
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #14 (permalink)  
Antiguo 20/06/2003, 11:58
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
es extraño, la manera en que recibo el campo a buscar es asi:
buscar=trim(ucase(Request.Form("buscar")))

no se no se me ocurre que puede ser
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #15 (permalink)  
Antiguo 23/06/2003, 08:16
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
alguien podria ayudarme???
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.