PA_SetBlobField


version 2003


PA_SetBlobField (tNum; fNum; newBlob; len)

Parameter Type Description
tNum short Table number of the field to access
fNum short Field number of the field to access
newBlob void* Pointer to the new BLOB data
len long Size of the BLOB in bytes

Description

The routine PA_SetBlobField fills the BLOB field number fNum of the current record of the table number tNum with the data pointed to by newBlob , of size len .

If the field is not a BLOB field, the routine does nothing and sets an error in PA_GetLastError ().

Note that PA_SetBlobField duplicates newBlob , which still belongs to the plug-in after the call. To give the data without duplicating it, use PA_SetBlobHandleField .

Example

Fill the field content with the content of a BLOB variable (no error checking here)

   void BlobVariableToBlobField (PA_Variable v, short tNum, short fNum)
   {
      PA_Handle   blobH;
      char      *ptr;
 
      if(PA_GetVariableKind(v) == eVK_Blob)
      {
   // Since we do not touch to the BLOB data we do not have to duplicate it,
   // put it in the field, then dispose of it. We simply use the variable BLOB handle
         blobH = PA_GetBlobHandleVariable(v);
 
   // Lock and transfert the data
         ptr = PA_LockHandle(blobH);
         PA_SetBlobField(tNum, fNum, ptr, PA_GetHandleSize(blobH));
         PA_UnlockHandle(blobH);
      }
   }

See Also

PA_GetBlobField , PA_GetBlobHandleField , PA_SetBlobHandleField .

Error Handling

Use PA_GetLastError to see if an error occurred ( eER_InvalidFileNumber , eER_InvalidFieldNumber )