Come a recuperare la lunghezza o lo stato di una colonna?

È possibile recuperare la lunghezza di una colonna a lunghezza variabile o lo stato di una colonna (per verificare per DBSTATUS_S_ISNULL, per esempio).

Per ottenere la lunghezza, utilizzare la macro COLUMN_ENTRY_LENGTH.

Per ottenere lo stato, utilizzare la macro COLUMN_ENTRY_STATUS.

Per ottenere entrambi, utilizzare COLUMN_ENTRY_LENGTH_STATUS, come illustrato di seguito.

classe CProduct
{
pubblica:
   char szName [40];
lunga nNameLength;
DBSTATUS nNameStatus;

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

CTablelt;CAccessor <CProduct> > prodotto;

prodotto.Apri (sessione, "Prodotto");
mentre (prodotto.MoveNext () = = S_OK)
{
   / / Controllare il nome del prodotto non è NULL prima di tracciatura e
   Se (product.nNameStatus = = DBSTATUS_S_OK)
      ATLTRACE ("%s è %d characters\n", szName, nNameLength);
}

Quando si utilizza CDynamicAccessor, la lunghezza e lo stato sono vincolati per voi automaticamente. Per recuperare i valori di lunghezza e lo stato, utilizzare le funzioni membro GetLength e GetStatus.

Index