Example: lrd_assign_extVariable Handling Functions

Assigns a storage area value with an explicit length to a variable via its descriptor.

LRDRET lrd_assign_ext( LRD_VAR_DESC *mptVarDesc, char *mpcValStr, long mliValStrLen, char *mpszValStrFmt, unsigned long muliIndex, long mliOffset );

mptVarDesc A pointer to the descriptor of a variable to which the value is being assigned.
mpcValStr A pointer to the input value string, or NULL. If the value is not NULL, the string can be parameterized
mliValStrLen The length of the string.
mpszValStrFmt The input value format: LRD_VAL_STR_FMT_ type where type can be DFLT or RAW.
muliIndex The zero-based index of the array element to set (zero for non-array variables).
mliOffset The offset within the host variable indicating the location at which to assign a value to the variable. For example, if the variable has a prefix that you want to retain, set the offset to a value greater than the size of the prefix.

The lrd_assign_ext assigns a storage area value with an explicit length to a variable via its descriptor. If necessary, the value is converted to the variable's data type and length. The value can contain embedded null characters ('\0'). You can also specify a NULL value using NULL or 0 (without quotation marks).

When the placeholder variable is an array, this function assigns a value to a single element of the array. This function must precede its corresponding lrd_bind_placeholder.

Note that this function is not recorded during a database session—you must insert it manually. It is useful for applications using bitmaps or other applications where the length of the value is not known, and the values contain null characters.

To use the values from a storage area such as an array, you:

  1. Modify the function name from lrd_assign or lrd_assign_literal, to lrd_assign_ext.
  2. Replace the string with a variable containing the values.
  3. Specify a length for the string.

For more details refer to the Function Header File lrd.h in the include directory.

Return Values

See LRD Return Values.


The following argument can be parameterized using standard parameterization: mpcValStr