Cursores

Hola Mis preguntas son las siguientes:
¿Qué es un cursor?
¿Para qué sirve?
¿Cómo se Hace?
Gracias

1 respuesta

Respuesta
1
Un cursor es una tabla temporal de memoria que es eliminado cuando se lo cierra, su propósito es crearlo para almacenar información temporalmente y como es de memoria en ambiente multiusuario es vital, por que se lo crea en la memoria de cada terminal y no en el disco del servidor, por ejemplo los programas de facturación a medida que vas creando una factura de 50 items todos están en un cursor temporal y cuando el usuario le de guardar recorres todo el cursor y lo volcás definitavmente a una tabla física en el disco, pues imagínate si crear una tabla temporal no podrás compartirlo con otros usuarios si cada vez que quieras vaciarlo vaciara todos los datos de los demás, sin embargo el cursor es único por cada usuario que este trabajando en el sistema, soporta prácticamente todos los comandos que las tablas, por ejemplo (replace, append, delete, pack, index etc), ¿cómo se crean?, varias maneras, si quieres un cursor en blanco puedes hacer así.
Create cursor temp(codigo N(12), nombre C(30))
y listo, ya tienes un cursor llamado temp que podras cargarlo etc, por ejemplo prueba
sele temp
append blank
brow
tambien puedes crear cursores con sql
select * from clientes into cursor tmpCliente
sele tmpClientes
brow normal
Los cursores creados con sql son de solo lecturam, a partir de VFP7 se introdujo la opción READWRITE para que sean lectura escritura, entonces esos grid en la que se traen datos, te permite modificarlos y luego tienes un botón guardar funcionan así, traen los datos con sql into cursor readwrite, luego cuando le das guardar recorres el cursor y vas volcando los datos a la tabla física.
Este fue un mini curso de cursores, para mi son indispensables, espero haberme explicado
un saludo
Gracias Fue una Explicación Excelente Excepto por una cosa:
Yo soy nuevo programando en visual foxpro(tenme paciencia por favor) y no estoy muy familiarizado con una cosa:
¿Para qué son Brow y append blank?
Gracias nuevamente
El brow despliega una ventana examinar, es decir, muestra los datos contenidos en una tabla para que puedas manipularlo por ejemplo, es un comando muy poderoso que tiene muchas opciones que aquí no podre explicarte por completo, si miras la ayuda de fox veras todo lo que puedes hacer con browse, el append blank agrega un registro en blanco al final de una tabla para que puedas grabar los datos, es decir
append blank &&agregas un registro en blanco
replace código with 1 &&grabas el dato
Es así como funciona, finaliza la pregunta por favor antes de que vaya cambiando de tema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas