FoxPro/Visual FoxPro - Equivalencia del Seek en SQL

 
Vista:
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Equivalencia del Seek en SQL

Publicado por roberto (55 intervenciones) el 21/02/2020 18:51:56
Al buscar un registro con

Seek equipo_p
if found()
* encontrado
else
* no encontrado
endif

Utilice

1
select count(*) as nr_p from tabla where equipo=equipo_p into cursor curnr

si tengo una tabla con lo siguiente:

equipo
8836
8834
9934
8821
.
.
.
.

y quiero buscar el registro con el numero 88, el SELECT me encuentra 3 registro a diferencia del SEEK que me dice que el registro no existe.

Ahora buscando y leyendo llegue a lo siguiente, en vez de utilizar :

1
2
SELECT COUNT(*) as nr_p FROM maeequ INTO CURSOR curnr;
	WHERE equipo= equipo_p
o

1
2
SELECT COUNT(*) as nr_p FROM maeequ INTO CURSOR curnr;
	WHERE ALLTRIM(equipo)=ALLTRIM(equipo_p)

QUE NO FUNCIONARON,utilice

1
2
SELECT COUNT(*) as nr_p FROM maeequ INTO CURSOR curnr;
	WHERE ALLTRIM(equipo) like ALLTRIM(equipo_p)

y si me respondió con valor cero en nr_p

esta correcto o hay alguna forma mas elegante de hacerlo???


Lo curioso que en otras busqueas con los campos si vacios el SELECT funciona sin problemas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Equivalencia del Seek en SQL

Publicado por Leonardo Daniel A. (499 intervenciones) el 22/02/2020 06:08:44
estas haciendo un seek por los valores que estan primero en el campo, por eso lo encuentra, y en SQL debes usar Like si no pones el valor completo a buscar

1
2
3
4
5
6
7
SELECT COUNT(*) as nr_p FROM maeequ ;
	WHERE equipo LIKE "88%" ;
        INTO CURSOR curnr
 
IF nr_p=0 THEN
   WAIT WIND "No se encontro el valor"
END IF

aunque tambien existe la variable _TALLY que se crea en memoria despues de ejecutar un Query SQL y te regresa el numero registros, si esta en 0 entonces no hubo resultado....

https://www.monografias.com/trabajos12/selec/selec.shtml
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar