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.