PDA

Ver la versión completa : Como busco una cadena en un campo



John35
22-07-2003, 10:14
La duda es tonta, no seaís crueles: el tema es así: tengo una cadena y quiero encontrarla dentro de una tabla. Inserto esta cadena en el query a la tabla asi:

select nombre_campo FROM tabla WHERE nombre_campo = cadena

Si la cadena existe me funciona perfecto, el tema es si la cadena no está no logró que me devuelva nada...

yo en la comprobación hago:

if RS.EOF then
'no se encontro la cadena... y no me devuelve nada :-(
else
'si se encontro la cadena, entonces todo perfecto
end if

Seguro es una tontería, pero no he acertado en la solución. Si alguien puede ayudarme... Recibirá mi eterno agradecimiento y una foto de la Cicciolina ;-)
:mad: :mad:

<PICCOLO>
22-07-2003, 13:05
a ver a ver, si tu metes esa sentencia select en un programa plsql(que deduzco que es lo que estás haciendo) es imposible que te funcione, ya que las sentencias select no se pueden usar directamente en PLSQL, debes declarar un cursor con esa sentencia de la siguiente forma

CURSOR nombre del cursor IS sentencia select

ejemplo:
CURSOR buscar IS SELECT nombre_campo from tabla where nombre_campo='hola';

luego para buscar los resultados debes recorrer este cursor con un for de la siguiente forma:

FOR variable IN cursor LOOP
sentencias aplicadas a una sola fila
-----
END LOOP;

Mira en algún manual de PLSQL que hay una forma de saber cuando no hay resultados con una sentencia que no recuerdo, de todas formas lo puedes hacer a la antigua:

Cuando pase por el IF de que si se encontró la cadena tu metes una variable debajo de tus sentencias que antes valiese 0 y que ahora que ha encontrado valga '1', de esta forma sabrás al salir de los IF y terminar la búsqueda que si la variable sigue valiendo 0 no ha encontrado nada

-salu2-