Jak pobrać długości lub stan kolumny?

Można pobrać stanu kolumny (do sprawdzania DBSTATUS_S_ISNULL, na przykład) lub długość kolumny o zmiennej długości.

Aby uzyskać długość, należy użyć makra COLUMN_ENTRY_LENGTH.

Aby uzyskać status, należy użyć makra COLUMN_ENTRY_STATUS.

Aby uzyskać zarówno, należy COLUMN_ENTRY_LENGTH_STATUS, jak pokazano poniżej.

klasa CProduct
{
publiczne:
   char szName [40];
długi nNameLength;
DBSTATUS nNameStatus;

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

CTablelt;CAccessor <CProduct> > produktu;

produkt.Otwórz (session, "Produkt");
podczas (produktu.MoveNext() == wartość S_OK)
{
   / / Check, nazwa produktu nie jest równa NULL przed śledzenia go
   Jeżeli (product.nNameStatus == DBSTATUS_S_OK)
      ATLTRACE („%s jest niedozwolony %d", szName, nNameLength);
}

Podczas korzystania z CDynamicAccessor, długość i stan związane są dla Ciebie automatycznie. Aby pobrać wartości długości i stanu, użyj funkcji członek GetLength i GetStatus.

Index