Hola de nuevo. Donde estabas ravenn? XD Saber si un cursor esta vacío.

hola estimado ravenn. Te había estado buscando jejejeejje. Ya había pasado rato sin verte por acá. Gracias por seguir ayudando. Mi pregunta es la siguiente: tengo un cursor creado de forma temporal con create cursor al cual le añado unos datos en depedencia de una condición. Si la condición se cumple, se guardan en el cursor los datos. Si no, no se guarda nada. Como puedo saber si el cursor esta vacío o no? Y si está vacío, que me envíe algún mensaje o aviso para saberlo.

Gracias mano :D

1 Respuesta

Respuesta
1

Pido disculpas por la ausencia. Motivos de trabajo me han tenido alejado del foro. Gracias por consultar nuevamente.

El uso de cursores es una poderosa solución para el manejo temporal de datos. Para saber si el cursor esta vacío, podes usar este simple código, en la instrucción y momento en que deseas conocer el estado de dicho cursor temporal:

**--

SELECT <span>temp</span>1

IF _TALLY = 0

**Código de condición acá

MESSAGEBOX("El cursor esta vacío.")

ENDIF

**--//

Ya aquí podes condicionar algún tipo de acción para que se ejecute cuando el cursor esta vacío. Pruébalo y me avisas cualquier cosa. Un placer poder ayudarte.

gracias raven. Que rapido tu respuesta je je. Funciona de maravilla. Solo te molesto un poco mas... que es _tally? quiero saber para no estar un poco desorientado, no le he entrado de lleno a fox y pues hay cosas que aun me cuestan saber.

Gracias de antemano.

Ahh ja ja! _Tally es una variable del sistema que te permite conocer la cantidad de registros procesados por el ultimo comando que se ejecuto en una tabla. Por eso hacemos un SELECT sobre el cursor, primero que todo. Ésto para garantizar ese comando y que puedas saber, sobre esa tabla, cuantos registros hay ya procesados. Como vos no procesas ninguno, el valor de tally sigue siendo = 0. Al iniciar, la variable tiene valor 0 y se mantiene así, a menos que proceses algún registro. :) He ahí que se cumple la condición que vos estableces de no agregar ningún registro al cursor temporal. :)

Cualquier cosa, me avisas! Saludos! :D :D :D

Ahh te aclaro, no es la única forma de saber si el cusor esta vacío, pero si es bastante aceptable. También podes usar un conteo de registros sobre el cursor con COUNT o RECCOUNT y establecer que si el valor que retornan es = 0, se desencadene tu código de condición. :D

Muchas gracias ravenn. Lo he probado y da bien. Gracias por la aclaración de tally también. Si necesito algo mas t busco man!

gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas