CDaoFieldInfo – struktura
Struktura CDaoFieldInfo
obsahuje informace o objektu pole definovaném pro objekty přístupu k datům (DAO).
Poznámka:
Rozhraní DAO se podporuje prostřednictvím Office 2013. DAO 3.6 je konečná verze a je považována za za zastaralou.
Syntaxe
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
Jednoznačně pojmenuje objekt pole. Podrobnosti najdete v tématu "Název vlastnosti" v nápovědě k dao.
m_nType
Hodnota, která označuje datový typ pole. Podrobnosti najdete v tématu "Vlastnost typu" v nápovědě k dao. Hodnota této vlastnosti může být jedna z následujících:
dbBoolean
Ano/Ne, stejné jako PRAVDA/NEPRAVDAdbByte
BajtdbInteger
KrátkýdbLong
DlouhýdbCurrency
Měna; viz MFC – třída COleCurrencydbSingle
JednotlivýdbDouble
DvojitýdbDate
Datum a čas; viz MFC – třída COleDateTimedbText
Text; viz MFC – třída CStringdbLongBinary
Dlouhý binární soubor (objekt OLE); Můžete chtít použít MFC třídy CByteArray místo třídyCLongBinary
jakoCByteArray
bohatší a jednodušší použití.dbMemo
Poznámka; see MFC – třídaCString
dbGUID
Globálně jedinečný identifikátor nebo univerzální jedinečný identifikátor používaný se vzdálenými voláními procedur. Další informace najdete v tématu "Typ vlastnosti" v nápovědě k dao.
Poznámka:
Nepoužívejte datové typy řetězců pro binární data. To způsobí, že vaše data projdou vrstvou překladu Unicode nebo ANSI, což vede ke zvýšené režii a potenciálně neočekávanému překladu.
m_lSize
Hodnota, která označuje maximální velikost objektu pole DAO, který obsahuje text nebo pevnou velikost objektu pole, který obsahuje text nebo číselné hodnoty. Podrobnosti najdete v tématu Vlastnosti velikosti v nápovědě k dao. Velikosti můžou být jedna z následujících hodnot:
Typ | Velikost (bajty) | Popis |
---|---|---|
dbBoolean |
1 bajt | Ano/Ne (stejné jako Pravda/Nepravda) |
dbByte |
0 | Byte |
dbInteger |
2 | Celé číslo |
dbLong |
4 | Dlouhé celé číslo |
dbCurrency |
8 | Měna (COleCurrency) |
dbSingle |
4 | Jeden |
dbDouble |
8 | Hodnota s dvojitou přesností |
dbDate |
8 | Datum a čas (COleDateTime) |
dbText |
1 - 255 | Text (CString) |
dbLongBinary |
0 | Dlouhý binární soubor (objekt OLE; CByteArray; místo CLongBinary ) |
dbMemo |
0 | Memo (CString) |
dbGUID |
16 | Globálně jedinečný identifikátor nebo univerzální jedinečný identifikátor používaný se vzdálenými voláními procedur. |
m_lAttributes
Určuje vlastnosti objektu pole obsaženého objektem tabledef, recordset, querydef nebo index objektu. Vrácenou hodnotou může být součet těchto konstant vytvořených pomocí operátoru C++ bitwise-OR (|
):
dbFixedField
Velikost pole je pevná (výchozí hodnota pro číselná pole).dbVariableField
Velikost pole je proměnná (pouze textová pole).dbAutoIncrField
Hodnota pole pro nové záznamy se automaticky zvýší na jedinečné dlouhé celé číslo, které nelze změnit. Podporuje se pouze pro databázové tabulky Microsoft Jet.dbUpdatableField
Hodnotu pole je možné změnit.dbDescending
Pole je seřazené sestupně (Z – A nebo 100 – 0) (platí pouze pro objekt pole v kolekci polí indexového objektu; v knihovně MFC jsou objekty indexu obsaženy v objektech tabledef). Pokud tuto konstantu vynecháte, pole se seřadí vzestupně (A – Z nebo 0 – 100) (výchozí).
Při kontrole nastavení této vlastnosti můžete pomocí bitového operátoru A jazyka C++ (&
) otestovat konkrétní atribut. Při nastavování více atributů je můžete kombinovat kombinací příslušných konstant s bitovým operátorem OR (|
). Podrobnosti najdete v tématu Vlastnosti atributů v nápovědě k dao.
m_nOrdinalPosition
Hodnota, která určuje číselné pořadí, ve kterém chcete zobrazit pole reprezentované objektem pole DAO vzhledem k jiným polím. Tuto vlastnost můžete nastavit pomocí CDaoTableDef::CreateField. Podrobnosti najdete v tématu "OrdinalPosition – vlastnost" v nápovědě k dao.
m_bRequired
Určuje, zda objekt pole DAO vyžaduje hodnotu, která není null. Pokud je tato vlastnost PRAVDA, pole nepovoluje hodnotu Null. Pokud je nastavena hodnota NEPRAVDA, pole může obsahovat hodnoty Null a také hodnoty, které splňují podmínky určené nastavením vlastnosti AllowZeroLength a ValidationRule. Podrobnosti najdete v tématu Požadovaná vlastnost v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_bAllowZeroLength
Určuje, zda prázdný řetězec ("") je platná hodnota objektu pole DAO s datovým typem Text nebo Memo. Pokud je tato vlastnost TRUE, prázdný řetězec je platná hodnota. Tuto vlastnost můžete nastavit na FALSE, abyste zajistili, že nelze použít prázdný řetězec k nastavení hodnoty pole. Podrobnosti najdete v tématu "AllowZeroLength – vlastnost" v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_lCollatingOrder
Určuje posloupnost pořadí řazení v textu pro porovnání nebo řazení řetězců. Podrobnosti najdete v tématu Přizpůsobení nastavení registru systému Windows pro přístup k datům v nápovědě k dao. Seznam možných hodnot vrácených naleznete v m_lCollatingOrder
členu CDaoDatabaseInfo struktury. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_strForeignName
Hodnota, která v relaci určuje název objektu pole DAO v cizí tabulce, která odpovídá poli v primární tabulce. Podrobnosti najdete v tématu "ForeignName Property" v nápovědě k DAO.
m_strSourceField
Označuje název pole, které je původním zdrojem dat pro objekt pole DAO obsažený v objektu tabledef, recordset nebo querydef objektu. Tato vlastnost označuje původní název pole přidružený k objektu pole. Tuto vlastnost můžete například použít k určení původního zdroje dat v poli dotazu, jehož název nesouvisí s názvem pole v podkladové tabulce. Podrobnosti najdete v tématu "SourceField, SourceTable Properties" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_strSourceTable
Označuje název tabulky, která je původním zdrojem dat pro objekt pole DAO obsažený v objektu tabledef, recordset nebo querydef objektu. Tato vlastnost označuje původní název tabulky přidružený k objektu pole. Tuto vlastnost můžete například použít k určení původního zdroje dat v poli dotazu, jehož název nesouvisí s názvem pole v podkladové tabulce. Podrobnosti najdete v tématu "SourceField, SourceTable Properties" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_strValidationRule
Hodnota, která ověřuje data v poli při změně nebo přidání do tabulky. Podrobnosti najdete v tématu Vlastnost ValidationRule v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
Související informace o tabledefs, viz m_strValidationRule
člen CDaoTableDefInfo struktury.
m_strValidationText
Hodnota, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu pole DAO nevyhovuje ověřovacímu pravidlu určenému nastavením vlastnosti ValidationRule. Podrobnosti najdete v tématu "Vlastnost ValidationText" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
m_strDefaultValue
Výchozí hodnota objektu pole DAO. Při vytvoření nového záznamu je nastavení vlastnosti DefaultValue automaticky zadáno jako hodnota pole. Podrobnosti najdete v tématu "DefaultValue – vlastnost" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.
Poznámky
Odkazy na Primary, Secondary a All výše ukazují, jak jsou informace vráceny GetFieldInfo
členské funkce ve třídách CDaoTableDef, CDaoQueryDef a CDaoRecordset.
Objekty pole nejsou reprezentovány třídou MFC. Místo toho objekty DAO základní MFC objekty následujících tříd obsahují kolekce objektů pole: CDaoTableDef, CDaoRecordset a CDaoQueryDef. Tyto třídy poskytují členské funkce pro přístup k některým jednotlivým položkám informací o polích nebo k nim můžete přistupovat všechny najednou pomocí objektu CDaoFieldInfo
voláním GetFieldInfo
členské funkce obsahujícího objektu.
Kromě jeho použití ke zkoumání vlastností objektu můžete také použít CDaoFieldInfo
k vytvoření vstupního parametru pro vytváření nových polí v tabulce. Pro tuto úlohu jsou k dispozici jednodušší možnosti, ale pokud chcete jemně řídit, můžete použít verzi CDaoTableDef::CreateField , která přebírá CDaoFieldInfo
parametr.
Informace načtené GetFieldInfo
členovou funkcí (třídy obsahující pole) jsou uloženy ve struktuře CDaoFieldInfo
. GetFieldInfo
Volání členské funkce obsahujícího objektu, v jehož kolekci Pole je objekt pole uložen. CDaoFieldInfo
také definuje členovou Dump
funkci v buildech ladění. Můžete použít Dump
k výpisu obsahu objektu CDaoFieldInfo
.
Požadavky
Záhlaví: afxdao.h
Viz také
Struktury, styly, zpětná volání a mapy zpráv
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo