Manejo de cursores en Visual Fox

Respuesta de
a
Usuario
Saludos, mi nombre es Johan(Rep. Dom.) Trabajo para una compañía que distribuye software en visual(puntos de ventas) y estamos comenzando a utilizar el cursor en vez del set filter ya que la data se pone un poco lenta cuando es un tabla grande y me han dicho que el cursor la extrae de la tabla mucho más repido.

El inconveniente mio es que yo creo mi cursor (select * from (tabla) into (nombre del cursor) y se me muestran los datos, pero al momento de gravar los datos, se me muestra el registro anterior.
Favor de ayudarme, gracias
Experto
Así no te puede funcionar.

Lo primero es que el filter efectivamente es lento, pero hay soluciones mejores como el SET KEY, que utiliza un indice y va unas 10 ves más rapido.

Por otra parte el cursor no actualiza. LO que necesitarías sería una vista actualizable.

Creación de la vista:

close databases
* Abre la base de datos testdata.
OPEN DATABASE (Home(2) + 'data\testdata')

* Crea una vista con criterio de selección inicial a partir de la tabla customer.
CREATE SQL VIEW mivista AS SELECT * FROM testdata!customer;
WHERE country=?m.pais

Donde m.país es una variable que filtra la vista.

Luego desde la base de datos modificas la vista y en la ultima pestaña debes indicar los campos clave (que identifican el registro) y los campos modificables.



Usuario
Muchas gracias, por ayudarme voy hacer la prueba con el set key.