Vista Vs Cursor, Cual es mejor para actualizar datos, Desventajas, Ventajas

603 views
Skip to first unread message

TheNewInquirer

unread,
Feb 6, 2012, 10:23:01 PM2/6/12
to Comunidad de Visual Foxpro en Español
Por ahi me llamó la atención un comentario de eXtremo sobre "mantener
cerradas" las tablas nativas y levantar solo los datos necesarios a la
ram mediante cursores o consultas Select Sql.

https://groups.google.com/group/publicesvfoxpro/browse_thread/thread/a68d679ab5662b02/9a890b4b476896ca?hl=es&lnk=gst&q=xtremo+cerradas+las+tablas#9a890b4b476896ca

Sé que las vistas permiten manipular los registros como se estuviera
en la tabla normal.

Por otro lado los cursores, deben actualizar los datos hacia la tabla
en algun punto.

¿Qué es más recomendable usar: cursores o vistas?...

¿Qué técnicas permiten optimizar su uso?..

Talvez es mi ignorancia y son conceptos distintos.

Gracias anticipadas!



Mario Alfredo

unread,
Feb 17, 2012, 1:53:31 PM2/17/12
to Comunidad de Visual Foxpro en Español
es mejor utilizar cursores y despues en momento dado modificas las
tabla originales, no lo hago con motores, son nativas

en un form tengo
consultar, modificar, eliminar, nuevo, adicionar,salir


On Feb 6, 9:23 pm, TheNewInquirer <fresassincr...@gmail.com> wrote:
> Por ahi me llamó la atención un comentario de eXtremo sobre "mantener
> cerradas" las tablas nativas y levantar solo los datos necesarios a la
> ram mediante cursores o consultas Select Sql.
>
> https://groups.google.com/group/publicesvfoxpro/browse_thread/thread/...

TheNewInquirer

unread,
Feb 17, 2012, 1:59:26 PM2/17/12
to Comunidad de Visual Foxpro en Español
Y como se modificarían actualizarían las tablas en base a los
cursores?...

Es decir, si borro o agrego un registro en el cursor, tendria que
manualmente ir a la tabla y borrarlo o agregarlo tambien ahi?...

Gracias!

Antonio Meza

unread,
Feb 17, 2012, 2:10:05 PM2/17/12
to publice...@googlegroups.com
En mi caso manejo VISTAS LOCALES para tablas nativas de vfp, esto me permite evitar tener que andar viendo que campos y que registros fueron modificados en el la vista, simplemente mando un tableupdate y listo me evito dolores de cabeza de saber si estoy actualizando bien la informacion en las tablas.

En mi opinion personal te recomiendo mil veces las Vistas que los cursores.

saludos
Antonio Meza

Daniel Sánchez

unread,
Mar 3, 2012, 10:02:22 PM3/3/12
to publice...@googlegroups.com
En mi caso trabajo con los cursoradapters pero trabajando con SGBD, pero lo bueno de esta clase que trabaja igual para tablas nativas y te ahorrara el 99% del trabajo, solo un 1% requiere usar consultas directas con sqlexec o en tablas nativas actualizando manualmente dichas tablas.
Y mejor aún lo tengo o manejo como objetos el adicionar un nuevo registro, grabar o eliminar osea lo tengo en una clase especial para el manejo de tablas y registros, me ahorra mucho código.

Saludos

-- 
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

TheNewInquirer

unread,
Mar 3, 2012, 10:58:45 PM3/3/12
to Comunidad de Visual Foxpro en Español
Como alguien comento antes en este foro. Mientras no se necesite el
manejo masivo de datos, no habría necesidad de usar un cursor o quizás
ni una vista local (estrictamente hablando, ya que una simple muestra
de datos de una tabla puede considerarse "una vista"). Bastaría con
poner en uso las tablas, efectuar lo necesario y cerrarlas.

Por ahi Walter comentó que esa técnica incluso es bien vista en los
sistemas Cliente-Servidor (incluso en el ambiente web, por que no..)
donde en vez de permitir al usuario "navegar" por todos los registros
en un grid (o juego de registros, como se llama en Dreamweaver-PHP),
se "llama" o consulta solo el registro necesario o en un momento dado,
solo "un bloque de registros" como los "clásicos" resultados de
google: pagina 1 de 1798, y solo muestra la los primeros x registros
en la pagina 1, hasta que el usuario hace "click" en otro numero de
página, mostrará ese bloque de registros.

Aunque Irlandés ya aclaró que los registros "no viajan" por la red, ya
que "todo se efectúa en realidad en el servidor" y es "enviado como
vista" hacia el cliente (navegador) con codigo HTML, XML, etc sin que
el usuario pueda "ver el codigo fuente" del programa que generó el
código dinámico en el lado del servidor (PHP, JAVA, ASP con su
interprete o servidor web respectivo, Apache, Tomcat, IIS).

Bueno, después de intentar explicar como esa técnica de "abrir,
operar, cerrar" sigue siendo válida bajo otros paradigmas, y volviendo
a la vista masiva de datos...

Si se usa una VISTA LOCAL, se corre el peligro de afectar las tablas
(dejando de lado el tema de la facilidad de actualización de datos en
las tablas reales..) ??

Saludos!
Reply all
Reply to author
Forward
0 new messages