Wie ich die Länge oder den Status einer Spalte abzurufen.?

Sie können die Länge einer Spalte mit variabler Länge oder den Status einer Spalte (auf DBSTATUS_S_ISNULL, z. B. überprüfen) abrufen.

Um die Länge zu erhalten, verwenden Sie das COLUMN_ENTRY_LENGTH -Makro.

Um den Status zu erhalten, verwenden Sie das COLUMN_ENTRY_STATUS -Makro.

Um beides zu erhalten, verwenden Sie COLUMN_ENTRY_LENGTH_STATUS, wie unten gezeigt.

klasse CProduct
{
Öffentliche:
   char SzName [40];
lange nNameLength;
DBSTATUS nNameStatus;

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

CTablelt;CAccessor <CProduct> > Produkt;

Produkt.Öffnen (Session, "Produkt");
während (Produkt.MoveNext() == S_OK)
{
   / / Name des Produkts ist nicht NULL vor Verfolgung es check
   Wenn (product.nNameStatus == DBSTATUS_S_OK)
      ATLTRACE ("%s ist %d Zeichen lang\n", SzName, nNameLength);
}

Wenn Sie CDynamicAccessorverwenden, werden die Länge und den Status automatisch für Sie gebunden. Um die Längen- und Statuswerte abzurufen, verwenden Sie die GetLength und GetStatus -Memberfunktionen.

Index