Como recuperar o comprimento ou o Status de uma coluna?

Você pode recuperar o status de uma coluna (para verificar se há DBSTATUS_S_ISNULL, por exemplo) ou o comprimento de uma coluna de comprimento variável.

Para obter o comprimento, use a macro COLUMN_ENTRY_LENGTH.

Para obter o status, use a macro COLUMN_ENTRY_STATUS.

Para obter tanto, use COLUMN_ENTRY_LENGTH_STATUS, como mostrado abaixo.

classe CProduct
{
público:
   Char szName [40];
nNameLength longo;
DBSTATUS nNameStatus;

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

CTablelt;CAccessor <CProduct> > produto;

produto.Open (session, "Produto");
ao mesmo tempo (produto.MoveNext() = = S_OK)
{
   / / Verificar o nome do produto não é NULL antes de rastreá-lo
   se (product.nNameStatus = = DBSTATUS_S_OK)
      ATLTRACE ("%s é %d caracteres\n", szName, nNameLength);
}

Quando você usar CDynamicAccessor, o comprimento e status estão vinculados para você automaticamente. Para recuperar os valores de comprimento e status, use as funções de membro GetLength e GetStatus.

Index