DBMGetRecordAllFields

Description
ƯÁ¤ ·¹ÄÚµåÀÇ ¸ðµç Çʵ尪À» Àд´Ù.

Syntax
DBMErr DBMGetRecordAllFields(ScanId scanId, RecId recId, int numExistFields, FieldData *fieldData);

Parameters
scanId ½ºÄµ ID
recId ·¹ÄÚµåÀÇ ID
numExistFields·¹Äڵ忡 Á¸ÀçÇÏ´Â ÇʵåÀÇ °³¼ö
filedDataFieldDataÀÇ ¹è¿­·Î, ·¹ÄÚµå ÇʵåµéÀÇ °ªÀ» ¾ò¾î¿È

Returns
value¼³¸í
DBM_OK¼º°øÀûÀ¸·Î ¼öÇàµÈ °æ¿ì
DBM_INVALID_SCAN_IDÁÖ¾îÁø ½ºÄµ id¸¦ °®´Â ½ºÄµÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
DBM_INVALID_REC_IDÁÖ¾îÁø ·¹ÄÚµå id¸¦ °®´Â ·¹Äڵ尡 Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
DBM_INVALID_FIELD_INFO numExistFields°¡ ½ÇÁ¦ FieldÀÇ °³¼öº¸´Ù Àû°Ô ³Ñ¾î¿ÔÀ» °æ¿ì
DBM_INVALID_FIELD_LEN lenÀÌ ÀûÀýÇÏÁö ¾ÊÀº °æ¿ì
( len >= ½ÇÁ¦ ÇÊµå ±æÀÌ )
DBM_EMPTY_FIELD ·¹Äڵ忡 ÇØ´ç Çʵ尪ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» ¶§
DBM_DB_NOT_INITEDµ¥ÀÌŸº£À̽º°¡ ÃʱâÈ­µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
DBM_FAIL µ¥ÀÌŸº£À̽º ³»ºÎ ¿À·ù

Comments
DBMGetNextRecordId, DBMGetPrevRecordId¿¡¼­ ¾òÀº Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© numExistFields¸¦ ±¸ÇÏ¿©, fieldData¸¦ À§ÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ ÈÄ À§ÀÇ ÇÔ¼ö¸¦ »ç¿ëÇؾßÇÑ´Ù.

BLOB Çʵ嵵 ´Ù¸¥ Çʵå¿Í ¸¶Âù°¡Áö·Î Á÷Á¢ Çʵ尪À» content¿¡ ³Ö¾î¼­ ¹ÝȯÇÑ´Ù.

¹®ÀÚ¿­ ¶Ç´Â BLOB ÇʵåÀÇ °æ¿ì, ÀÀ¿ë ÇÁ·Î±×·¥Àº DBMGetFieldLengthÇÔ¼ö¸¦ ÀÌ¿ëÇϰųª DBMGetNextRecordId, DBMGetPrevRecordId¿¡¼­ ¾òÀº Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© fieldData[i].content¿¡ ´ëÇÑ ¸Þ¸ð¸®¸¦ ¹Ì¸® ÇÒ´çÇØÁà¾ß ÇÑ´Ù.

Example
/* Get scanId and recId. See the example of DBMDeleteFieldContent */
  DBMErr ret;
  FieldId fieldId = 1;
  FieldData *fieldData;
  FieldDataInfo fieldDataInfo[NUM_FIELDS];
  S32 numFields;
  S32 i;

  ret = DBMGetRecFieldInfo(scanId, recId, &numFields, fieldDataInfo);
  if (ret < DBM_OK)
    // error handling

  fieldData = (FieldData*)malloc(sizeof(FieldData)*numFields);
  for (i=0; i<numFields; i++)
  {
     if (fieldDataInfo[i].type == DBM_STRING || fieldDataInfo[i].type == DBM_BLOB)
       fieldData[i].content = (S8*)malloc(sizeof(S8)*fieldDataInfo[i].len);
  }

  ret = DBMGetRecordAllFields(scanId, recId, numFields, fieldData);
  if (ret < DBM_OK)
    // error handling
    ...