_DBWrite( ) (Rutina de biblioteca API)

Escribe en disco el registro actual en el área de trabajo especificada y actualiza todos los índices afectados.

int _DBWrite(int workarea)
int workarea;               /* Work area. */

Observaciones

Cada vez que el puntero de registro se mueve a otro registro, esta actualización ocurre automáticamente. Si no se han reemplazado campos de datos, _DBWrite( ) no tiene efecto. _DBWrite( ) devuelve 0 si la rutina tiene éxito. Si la rutina falla, _DBWrite( ) devuelve un número entero negativo cuyo valor absoluto corresponde a un número de error de Visual FoxPro.

Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.

Ejemplo

El siguiente ejemplo lleva a cabo un _DBReplace( ) mediante los dos parámetros de llamada, un campo de tabla transferido por referencia y un valor del tipo adecuado. El ejemplo ejecuta un comando LIST NEXT 1 de Visual FoxPro antes y después de una llamada a _DBWrite( ).

Código Visual FoxPro

SET LIBRARY TO DBWRITE 
DO CreateTest
GO 3
=DBWRITE( @ABC, "Replacement Record 1")

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

Código C

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int RetValue;

   if (RetValue = _DBReplace(&parm->p[0].loc, &parm->p[1].val)) {
      _UserError("\n_DBReplace() failed");
   }

   if (RetValue = _DBWrite(-1)) {
      _Error(-RetValue);
   }
   _Execute("LIST NEXT 1");
}

FoxInfo myFoxInfo[] = {
   {"DBWRITE", (FPFI) Example, 2, "R,?"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Vea también

_DBLock( ) (Rutina de biblioteca API) | _DBReplace( ) (Rutina de biblioteca API) | _DBUnlock( ) (Rutina de biblioteca API) | Acceso a la API de Visual FoxPro