Как получить длину и состояние столбца?

Можно получить длину столбца переменной длины или состояние столбца (для проверки DBSTATUS_S_ISNULL, например).

Чтобы получить длину, используйте макрос COLUMN_ENTRY_LENGTH.

Чтобы получить статус, используйте макрос COLUMN_ENTRY_STATUS.

Для того чтобы получить оба, можно воспользоваться COLUMN_ENTRY_LENGTH_STATUS, как показано ниже.

класс CProduct
{
общественности:
   Чар szName [40];
длинные nNameLength;
DBSTATUS nNameStatus;

BEGIN_COLUMN_MAP(CProduct)
   COLUMN_ENTRY_LENGTH_STATUS (2 szName, nNameLength, nNameStatus)
END_COLUMN_MAP()
};

CTablelt;CAccessor <CProduct> > продукт;

продукт.Открытый (сессия, «Продукт»);
во время (продукт.MoveNext() == S_OK)
{
   / / Проверить имя продукта не является NULL до отслеживания его
   Если (product.nNameStatus == DBSTATUS_S_OK)
      ATLTRACE («%s это %d characters\n», szName, nNameLength);
}

При использовании CDynamicAccessorдлина и состояние связаны для вас автоматически. Чтобы получить значения длины и состояния, воспользуйтесь GetLength и GetStatus функциями-членами.

Index