CDaoFieldInfo — Struktura
Struktura CDaoFieldInfo
zawiera informacje o obiekcie pola zdefiniowanym dla obiektów dostępu do danych (DAO).
Uwaga
DaO jest obsługiwane za pośrednictwem pakietu Office 2013. DaO 3.6 jest wersją ostateczną i jest uważany za przestarzałą.
Składnia
struct CDaoFieldInfo
{
CString m_strName; // Primary
short m_nType; // Primary
long m_lSize; // Primary
long m_lAttributes; // Primary
short m_nOrdinalPosition; // Secondary
BOOL m_bRequired; // Secondary
BOOL m_bAllowZeroLength; // Secondary
long m_lCollatingOrder; // Secondary
CString m_strForeignName; // Secondary
CString m_strSourceField; // Secondary
CString m_strSourceTable; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
CString m_strDefaultValue; // All
};
Parametry
m_strName
Unikatowe nazwy obiektu pola. Aby uzyskać szczegółowe informacje, zobacz temat "Name Property" (Nazwa właściwości) w pomocy dao.
m_nType
Wartość wskazująca typ danych pola. Aby uzyskać szczegółowe informacje, zobacz temat "Typ właściwości" w pomocy dao. Wartość tej właściwości może być jedną z następujących wartości:
dbBoolean
Tak/Nie, tak samo jak PRAWDA/FAŁSZdbByte
BajtdbInteger
KrótkidbLong
DługidbCurrency
Waluta; zobacz MFC, klasa COleCurrencydbSingle
PojedynczydbDouble
PodwójnydbDate
Data/godzina; zobacz MFC, klasa COleDateTimedbText
Tekst; zobacz MFC, klasa CStringdbLongBinary
Długi plik binarny (obiekt OLE); Warto użyć klasy MFC CByteArray zamiast klasyCLongBinary
, ponieważCByteArray
jest bogatsza i łatwiejsza w użyciu.dbMemo
Memo; zobacz MFC, klasaCString
dbGUID
Globalnie unikatowy identyfikator/uniwersalny unikatowy identyfikator używany z zdalnymi wywołaniami procedur. Aby uzyskać więcej informacji, zobacz temat "Typ właściwości" w pomocy dao.
Uwaga
Nie używaj typów danych ciągów dla danych binarnych. Powoduje to przekazywanie danych przez warstwę tłumaczenia Unicode/ANSI, co zwiększa obciążenie i prawdopodobnie nieoczekiwane tłumaczenie.
m_lSize
Wartość wskazująca maksymalny rozmiar w bajtach obiektu pola DAO, który zawiera tekst lub stały rozmiar obiektu pola zawierającego wartości tekstowe lub liczbowe. Aby uzyskać szczegółowe informacje, zobacz temat "Size Property" (Właściwość rozmiaru) w pomocy dotyczącej języka DAO. Rozmiary mogą być jedną z następujących wartości:
Typ | Rozmiar (bajty) | opis |
---|---|---|
dbBoolean |
1 bajt | Tak/Nie (tak samo jak prawda/fałsz) |
dbByte |
1 | Byte |
dbInteger |
2 | Integer |
dbLong |
100 | Długi |
dbCurrency |
8 | Waluta (COleCurrency) |
dbSingle |
100 | Pojedynczy |
dbDouble |
8 | Liczba rzeczywista |
dbDate |
8 | Data/godzina (COleDateTime) |
dbText |
1 - 255 | Tekst (CString) |
dbLongBinary |
0 | Długi plik binarny (obiekt OLE; CByteArray; użyj zamiast CLongBinary ) |
dbMemo |
0 | Nota (CString) |
dbGUID |
16 | Globalnie unikatowy identyfikator/uniwersalny unikatowy identyfikator używany z zdalnymi wywołaniami procedur. |
m_lAttributes
Określa charakterystykę obiektu pola zawartego przez obiekt tabledef, recordset, querydef lub index. Zwrócona wartość może być sumą tych stałych utworzonych za pomocą operatora bitowego OR (|
) języka C++:
dbFixedField
Rozmiar pola jest stały (wartość domyślna dla pól liczbowych).dbVariableField
Rozmiar pola jest zmienny (tylko pola tekstowe).dbAutoIncrField
Wartość pola dla nowych rekordów jest automatycznie zwiększana do unikatowej długiej liczby całkowitej, której nie można zmienić. Obsługiwane tylko w przypadku tabel bazy danych Microsoft Jet.dbUpdatableField
Wartość pola można zmienić.dbDescending
Pole jest sortowane w kolejności malejącej (Z - A lub 100–0) (dotyczy tylko obiektu pola w kolekcji Pola obiektu indeksu; w MFC obiekty indeksu są same zawarte w obiektach tabledef). Jeśli pominięto tę stałą, pole jest sortowane w kolejności rosnącej (A – Z lub 0 – 100) (wartość domyślna).
Podczas sprawdzania ustawienia tej właściwości można użyć operatora bitowego I języka C++ (&
), aby przetestować określony atrybut. Podczas ustawiania wielu atrybutów można je połączyć, łącząc odpowiednie stałe z operatorem bitowym OR (|
). Aby uzyskać szczegółowe informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.
m_nOrdinalPosition
Wartość określająca kolejność liczbową, w której ma być wyświetlane pole reprezentowane przez obiekt pola DAO względem innych pól. Tę właściwość można ustawić za pomocą obiektu CDaoTableDef::CreateField. Aby uzyskać szczegółowe informacje, zobacz temat "OrdinalPosition Property" in DAO Help (Pomoc dotycząca elementu DAO).
m_bRequired
Wskazuje, czy obiekt pola DAO wymaga wartości innej niż null. Jeśli ta właściwość ma wartość TRUE, pole nie zezwala na wartość Null. Jeśli ustawienie Wymagane ma wartość FALSE, pole może zawierać wartości null, a także wartości spełniające warunki określone przez ustawienia właściwości AllowZeroLength i ValidationRule. Aby uzyskać szczegółowe informacje, zobacz temat "Wymagana właściwość" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_bAllowZeroLength
Wskazuje, czy pusty ciąg ("") jest prawidłową wartością obiektu pola DAO z typem danych Text lub Memo. Jeśli ta właściwość ma wartość TRUE, pusty ciąg jest prawidłową wartością. Dla tej właściwości można ustawić wartość FALSE, aby upewnić się, że nie można ustawić wartości pola przy użyciu pustego ciągu. Aby uzyskać szczegółowe informacje, zobacz temat "AllowZeroLength Property" (Właściwość AllowZeroLength) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_lCollatingOrder
Określa sekwencję kolejności sortowania w tekście dla porównania lub sortowania ciągów. Aby uzyskać szczegółowe informacje, zobacz temat "Dostosowywanie ustawień rejestru systemu Windows na potrzeby dostępu do danych" w Pomocy dao. Aby uzyskać listę zwracanych wartości, zobacz m_lCollatingOrder
element członkowski struktury CDaoDatabaseInfo . Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_strForeignName
Wartość, która w relacji określa nazwę obiektu pola DAO w tabeli obcej, która odpowiada polu w tabeli podstawowej. Aby uzyskać szczegółowe informacje, zobacz temat "ForeignName Property" (Właściwość ForeignName) w pomocy dao.
m_strSourceField
Wskazuje nazwę pola, które jest oryginalnym źródłem danych dla obiektu pola DAO zawartego przez obiekt tabledef, recordset lub querydef. Ta właściwość wskazuje oryginalną nazwę pola skojarzona z obiektem pola. Można na przykład użyć tej właściwości, aby określić oryginalne źródło danych w polu zapytania, którego nazwa nie jest powiązana z nazwą pola w tabeli bazowej. Aby uzyskać szczegółowe informacje, zobacz temat "SourceField, SourceTable Properties" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_strSourceTable
Wskazuje nazwę tabeli, która jest oryginalnym źródłem danych dla obiektu pola DAO zawartego przez obiekt tabledef, recordset lub querydef. Ta właściwość wskazuje oryginalną nazwę tabeli skojarzona z obiektem pola. Można na przykład użyć tej właściwości, aby określić oryginalne źródło danych w polu zapytania, którego nazwa nie jest powiązana z nazwą pola w tabeli bazowej. Aby uzyskać szczegółowe informacje, zobacz temat "SourceField, SourceTable Properties" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_strValidationRule
Wartość, która weryfikuje dane w polu w miarę ich zmiany lub dodawania do tabeli. Aby uzyskać szczegółowe informacje, zobacz temat "ValidationRule Property" (Właściwość ValidationRule) w pomocy języka DAO. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
Aby uzyskać powiązane informacje o definicjach tabeli, zobacz m_strValidationRule
element członkowski struktury CDaoTableDefInfo .
m_strValidationText
Wartość określająca tekst komunikatu wyświetlanego przez aplikację, jeśli wartość obiektu pola DAO nie spełnia reguły poprawności określonej przez ustawienie właściwości ValidationRule. Aby uzyskać szczegółowe informacje, zobacz temat "ValidationText Property" (Właściwość ValidationText) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
m_strDefaultValue
Wartość domyślna obiektu pola DAO. Po utworzeniu nowego rekordu ustawienie właściwości DefaultValue zostanie automatycznie wprowadzone jako wartość pola. Aby uzyskać szczegółowe informacje, zobacz temat "DefaultValue Property" (Właściwość DefaultValue) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.
Uwagi
Odwołania do primary, secondary i All powyżej wskazują, jak informacje są zwracane przez GetFieldInfo
funkcję składową w klasach CDaoTableDef, CDaoQueryDef i CDaoRecordset.
Obiekty pól nie są reprezentowane przez klasę MFC. Zamiast tego obiekty DAO bazowe obiekty MFC następujących klas zawierają kolekcje obiektów pól: CDaoTableDef, CDaoRecordset i CDaoQueryDef. Klasy te dostarczają funkcje składowe, aby uzyskać dostęp do niektórych pojedynczych elementów informacji o polu lub można uzyskać do nich dostęp jednocześnie z obiektem CDaoFieldInfo
przez wywołanie GetFieldInfo
funkcji składowej zawierającego obiektu.
Poza jego użyciem do badania właściwości obiektu można również użyć CDaoFieldInfo
do konstruowania parametru wejściowego do tworzenia nowych pól w definicji tabeli. Dla tego zadania są dostępne prostsze opcje, ale jeśli chcesz uzyskać dokładnszą kontrolę, możesz użyć wersji CDaoTableDef::CreateField , która przyjmuje CDaoFieldInfo
parametr.
Informacje pobierane przez GetFieldInfo
funkcję składową (klasy zawierającej pole) są przechowywane w CDaoFieldInfo
strukturze. Wywołaj GetFieldInfo
funkcję składową obiektu zawierającego w obiekcie, w którym kolekcja Fields jest przechowywany obiekt pola. CDaoFieldInfo
Definiuje również funkcję składową Dump
w kompilacjach debugowania. Możesz użyć Dump
polecenia , aby zrzucić zawartość CDaoFieldInfo
obiektu.
Wymagania
Nagłówek: afxdao.h
Zobacz też
Struktury, style, wywołania zwrotne i mapy komunikatów
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo