Difference between revisions of "FIELD UPDATE()"

From Lianjapedia
Jump to: navigation, search
 
Line 13: Line 13:
 
<input parameters>
 
<input parameters>
 
char *name /* Address of a buffer containing a field name */
 
char *name /* Address of a buffer containing a field name */
char type; /* Type of field */
+
char type; /* Type of field */
 
char *string; /* Address of a buffer containing a character string */
 
char *string; /* Address of a buffer containing a character string */
double *number; /* number */
+
double *number; /* number */
char logical; /* T for True and F for False */
+
char logical; /* T for True and F for False */
unsigned long date; /* Lianja date */
+
unsigned long date; /* Lianja date */
DATETIME datetime; /* Lianja datetime */
+
DATETIME datetime; /* Lianja datetime */
CURRENCY currency; /* Lianja currency */
+
CURRENCY currency; /* Lianja currency */
  
 
<output parameters>
 
<output parameters>

Latest revision as of 13:58, 19 May 2014

PURPOSE

Update a field in the record buffer

SYNONYM

api_field_update()

SYNOPSIS

#include "lianja_api.h"
 
int	*FIELD_UPDATE(name, type, string, number, logical, date)
 
<input parameters>
char		*name			/* Address of a buffer containing a field name		*/
char		type;			/* Type of field					*/
char		*string;		/* Address of a buffer containing a character string	*/
double		*number;		/* number						*/
char		logical;		/* T for True and F for False				*/
unsigned long	date;			/* Lianja date						*/
DATETIME	datetime;		/* Lianja datetime					*/
CURRENCY	currency;		/* Lianja currency					*/
 
<output parameters>
none

DESCRIPTION

The FIELD_UPDATE() function will update a specified field in the currently selected table.

If any validation rules have been defined in the Applications Data Dictionary they will be checked first and the field will only be updated if the checks pass. A field can not be updated if it has been defined as calculated in the Applications Data Dictionary.

EXAMPLE

The following example replaces all the fields in the example table with the specified expressions. See Appendix A for the data structure of "example.dbf".

#include "lianja_api.h"
 
lianjaapi_field_update()
{
    int		result;
    double		num;
    char		char[16];
    char		log;
    unsigned long	date;
    DATETIME	datetime;
    CURRENCY	currency;
 
    strcpy(char, "Record Number 3");
    num = 3;
    log = 'T';
    date = DATE_CTOD(DATE_DATE());
    datetime = DATE_STOT(DATE_DATETIME());
    currency = CURR_STOY("7363.93");
 
    if (!DBF_ISEXCLUSIVE()) DBF_LOCKR(DBF_RECNO());
 
    rc=FIELD_UPDATE("blob", 'M', "", &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("byte", 'N', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("char", 'C', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("date", 'D', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("float", 'N', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("int", 'N', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("logical", 'L', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("number", 'N', char, &num, log, date, datetime, currency);
    rc=FIELD_UPDATE("memo", 'M', "", num, log, date, datetime, currency);
    rc=FIELD_UPDATE("real", 'N', char, num, log, date, datetime, currency);
    rc=FIELD_UPDATE("word", 'N', char, num, log, date, datetime, currency);
    rc=FIELD_UPDATE("zoned", 'N', char, num, log, date, datetime, currency);
 
    result = DBF_UPDATE();
 
    if (!DBF_ISEXCLUSIVE()) DBF_UNLOCKR(DBF_RECNO());
 
    _retni( result );
}

SEE ALSO

BLOB_UPDATE(), BLOB_WRITE(), DBF_GATHER(), DBF_READ(), DBF_RECBUFFER(), DBF_UPDATE(), FIELD_COUNT(), FIELD_LOOKUP(), FIELD_NAME(), FIELD_VALUE(), MEMO_UPDATE(), MEMO_WRITE()