home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a007 / 1.ddi / BLGET.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-10-15  |  1.1 KB  |  47 lines

  1. /* The SETUP.C program must be compiled and run before this example */
  2. /* can be executed. */
  3.  
  4. #include <stdio.h>
  5. #include "pxengine.h"
  6.  
  7. #define TABLENAME  "table"
  8.  
  9. TABLEHANDLE   tblHandle;
  10. RECORDHANDLE  recHandle;
  11. BLOBHANDLE    blbHandle;
  12. PXCODE        pxErr;
  13.  
  14. char          buffer[256];     /* Buffer to read BLOB data into. */
  15. unsigned long read_size;       /* Number of bytes to read from blob. */
  16.  
  17. int main(void)
  18. {
  19.   PXInit();
  20.  
  21.   /* Open a table that contains a BLOB field at field 4. */
  22.  
  23.   PXTblOpen(TABLENAME, &tblHandle, 0, 0);
  24.   PXRecBufOpen(tblHandle, &recHandle);
  25.   PXRecGet(tblHandle, recHandle);
  26.  
  27.   /* Open a BLOB for reading only. */
  28.  
  29.   PXBlobOpenRead(recHandle, 4, &blbHandle);
  30.  
  31.   PXBlobGetSize(blbHandle, &read_size);
  32.  
  33.   if (read_size > sizeof(buffer))
  34.       read_size = sizeof(buffer);
  35.  
  36.   /* Read data into buffer from BLOB associated with field 4. */
  37.  
  38.   if((pxErr = PXBlobGet(blbHandle, (unsigned) read_size, 0, buffer))
  39.     != PXSUCCESS)
  40.     printf("%s\n", PXErrMsg(pxErr));
  41.   PXBlobClose(blbHandle, PXBLOBACCEPT);
  42.   PXRecBufClose(recHandle);
  43.   PXTblClose(tblHandle);
  44.   PXExit();
  45.   return (pxErr);
  46. }
  47.