Hola Mis preguntas son las siguientes: ¿Qué es un cursor? ¿Para qué sirve? ¿Cómo se Hace? Gracias
1 respuesta
Respuesta de davsoft
1
1
davsoft, Desarrollador con 10 años de experiencia en el area de Visual...
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.