Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Grabar
Message
De
28/07/2009 17:35:11
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
 
 
À
28/07/2009 17:25:33
Luis Parada
Prosoft´s de Venezuela, C.A.
Valencia, Vénézuéla
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
Re: Grabar
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01415187
Message ID:
01415193
Vues:
91
This message has been marked as the solution to the initial question of the thread.
>Muy Buenas Tardes.
>
>Como seria el codigo del metodo grabar(), cuando se modifica ó se ingresa datos en un grid.
>estoy trabajando con CURSORSETPROP("Buffering", 5).

Se graba el registro actual con TableUpdate() (también se pueden guardar múltiples registros pendientes - ver parámetros adicionales). Se anulan cambios con TableRevert().

Ejemplo:
local llExito
llExito = TableUpdate()
if not llExito
  local laError(1)
  aerror(laError) && Recabar información sobre el último error
  MessageBox("Error al guardar", 16, "Había un error al guardar" + chr(13) + chr(10);
    + "Mensaje #" + trans(laError(1)) + " - " + laError(2))
endif
Notas:

1. Es mejor reemplazar el número 16, "icono STOP", por una constante definida. Se pueden usar las constantes en foxpro.h.

2. Los primeros dos elementos del array de errores serán el número de error, y el mensaje correspondiente. A veces conviene interceptar primero por errores específicos, por ejemplo, valores duplicados, para hacer un análisis más detallado, o reemplazar mensajes más claros que "Trigger failed", digamos.

3. Si TableUpdate() falla, normalmente es por la violación de alguna regla, como regla de campo, de registro, trigger, valor duplicado (según un índice definido como primario o candidato). También pueden haber otros problemas, típicos al trabajar con archivos, como una tabla sólo lectura, digamos - o disco lleno (cuando se guarda un registro nuevo) - pero estos casos son menos comunes.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform