Comment récupérer la longueur ou l'état d'une colonne?

Vous pouvez récupérer la longueur d'une colonne de longueur variable ou l'état d'une colonne (pour rechercher DBSTATUS_S_ISNULL, par exemple).

Pour obtenir la longueur, utilisez la macro COLUMN_ENTRY_LENGTH.

Pour obtenir de l'État, utilisez la macro COLUMN_ENTRY_STATUS.

Pour obtenir les deux, utilisez COLUMN_ENTRY_LENGTH_STATUS, comme illustré ci-dessous.

classe CProduct
{
public :
   char szName [40] ;
long nNameLength ;
DBSTATUS nNameStatus ;

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

CTablelt ;CAccessor <CProduct> > produit ;

produit.Ouvert (session, « Produit ») ;
alors que (produit.MoveNext() == S_OK)
{
   / / Vérifier le nom du produit n'est pas NULL avant traçage il
   Si (product.nNameStatus == DBSTATUS_S_OK)
      ATLTRACE (« %s est %d characters\n », szName, nNameLength) ;
}

Lorsque vous utilisez CDynamicAccessor, la longueur et l'État sont liés pour vous automatiquement. Pour récupérer les valeurs de longueur et d'État, utilisez les fonctions membres GetLength et GetStatus.

Index