¿Cómo recuperar la longitud o la condición de una columna?

Se puede recuperar el estado de una columna (para buscar DBSTATUS_S_ISNULL, por ejemplo) o la longitud de una columna de longitud variable.

Para obtener la longitud, utilice la macro COLUMN_ENTRY_LENGTH.

Para obtener el Estado, utilice la macro COLUMN_ENTRY_STATUS.

Para obtener ambos, utilice COLUMN_ENTRY_LENGTH_STATUS, como se muestra a continuación.

clase CProduct
{
público:
   char szName [40];
nNameLength largo;
DBSTATUS nNameStatus;

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

CTablelt;CAccessor <CProduct> > producto;

producto.Abrir (sesión, "Producto");
mientras (producto.MoveNext() == S_OK)
{
   / / Comprobar el nombre del producto no es NULL antes de lo seguimiento
   Si (product.nNameStatus == DBSTATUS_S_OK)
      ATLTRACE ("%s es %d los caracteres\n", szName, nNameLength);
}

Cuando se utiliza CDynamicAccessor, la longitud y el estado están enlazados para usted automáticamente. Para recuperar los valores de longitud y estado, utilice las funciones miembro GetLength y GetStatus.

Index