CDaoTableDef – třída
Představuje uloženou definici základní tabulky nebo připojené tabulky.
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
class CDaoTableDef : public CObject
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CDaoTableDef::CDaoTableDef | CDaoTableDef Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CDaoTableDef::Append | Přidá do databáze novou tabulku. |
CDaoTableDef::CanUpdate | Vrátí nenulové hodnoty, pokud je možné tabulku aktualizovat (můžete upravit definici polí nebo vlastností tabulky). |
CDaoTableDef::Close | Zavře otevřenou tabulku. |
CDaoTableDef::Create | Vytvoří tabulku, kterou lze přidat do databáze pomocí připojení. |
CDaoTableDef::CreateField | Zavolá se k vytvoření pole pro tabulku. |
CDaoTableDef::CreateIndex | Volá se k vytvoření indexu pro tabulku. |
CDaoTableDef::D eleteField | Volá se k odstranění pole z tabulky. |
CDaoTableDef::D eleteIndex | Volá se k odstranění indexu z tabulky. |
CDaoTableDef::GetAttributes | Vrátí hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef . |
CDaoTableDef::GetConnect | Vrátí hodnotu, která poskytuje informace o zdroji tabulky. |
CDaoTableDef::GetDateCreated | Vrátí datum a čas vytvoření základní tabulky, která je základem objektu CDaoTableDef . |
CDaoTableDef::GetDateLastUpdated | Vrátí datum a čas poslední změny provedené v návrhu základní tabulky. |
CDaoTableDef::GetFieldCount | Vrátí hodnotu, která představuje počet polí v tabulce. |
CDaoTableDef::GetFieldInfo | Vrátí konkrétní typy informací o polích v tabulce. |
CDaoTableDef::GetIndexCount | Vrátí počet indexů pro tabulku. |
CDaoTableDef::GetIndexInfo | Vrátí konkrétní typy informací o indexech tabulky. |
CDaoTableDef::GetName | Vrátí uživatelem definovaný název tabulky. |
CDaoTableDef::GetRecordCount | Vrátí počet záznamů v tabulce. |
CDaoTableDef::GetSourceTableName | Vrátí hodnotu, která určuje název připojené tabulky ve zdrojové databázi. |
CDaoTableDef::GetValidationRule | Vrátí hodnotu, která ověří data v poli při změně nebo přidání do tabulky. |
CDaoTableDef::GetValidationText | Vrátí hodnotu, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu Pole nevyhovuje zadanému ověřovacímu pravidlu. |
CDaoTableDef::IsOpen | Vrátí nenulové hodnoty, pokud je tabulka otevřená. |
CDaoTableDef::Open | Otevře existující tabulku uloženou v kolekci TableDef databáze. |
CDaoTableDef::RefreshLink | Aktualizuje informace o připojení připojené tabulky. |
CDaoTableDef::SetAttributes | Nastaví hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef . |
CDaoTableDef::SetConnect | Nastaví hodnotu, která poskytuje informace o zdroji tabulky. |
CDaoTableDef::SetName | Nastaví název tabulky. |
CDaoTableDef::SetSourceTableName | Nastaví hodnotu, která určuje název připojené tabulky ve zdrojové databázi. |
CDaoTableDef::SetValidationRule | Nastaví hodnotu, která ověří data v poli při změně nebo přidání do tabulky. |
CDaoTableDef::SetValidationText | Nastaví hodnotu, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu Pole nevyhovuje zadanému ověřovacímu pravidlu. |
Veřejné datové členy
Název | Popis |
---|---|
CDaoTableDef::m_pDAOTableDef | Ukazatel na rozhraní DAO podkladového objektu tabledef. |
CDaoTableDef::m_pDatabase | Zdrojová databáze pro tuto tabulku |
Poznámky
Každý databázový objekt DAO udržuje kolekci s názvem TableDefs, která obsahuje všechny uložené objekty daO tabledef.
Pracujete s definicí tabulky pomocí objektu CDaoTableDef
. Je například možné:
Prozkoumejte pole a strukturu indexu libovolné místní, připojené nebo externí tabulky v databázi.
SetConnect
Volejte funkce aSetSourceTableName
členské funkce pro připojené tabulky a pomocíRefreshLink
členské funkce aktualizujte připojení k připojeným tabulkám.Voláním
CanUpdate
členské funkce určíte, jestli můžete upravit definice polí v tabulce.Získejte nebo nastavte ověřovací podmínky pomocí
GetValidationRule
funkcí aSetValidationRule
GetValidationText
aSetValidationText
členů.Open
Pomocí členské funkce vytvořte objekt typu table-, dynaset nebo snapshot-typeCDaoRecordset
.Poznámka:
Databázové třídy DAO se liší od databázových tříd MFC založených na rozhraní ODBC (Open Database Connectivity). Všechny názvy databázových tříd DAO mají předponu CDao. Stále máte přístup ke zdrojům dat ODBC pomocí tříd DAO; třídy DAO obecně nabízejí vynikající funkce, protože jsou specifické pro databázový stroj Microsoft Jet.
Použití objektů tabledef pro práci s existující tabulkou nebo vytvoření nové tabulky
Ve všech případech nejprve vytvořte
CDaoTableDef
objekt a zadejte ukazatel na objekt CDaoDatabase , do kterého tabulka patří.Pak postupujte podle toho, co chcete:
Pokud chcete použít existující uloženou tabulku, zavolejte funkci Open member objektu tabledef a zadejte název uložené tabulky.
Pokud chcete vytvořit novou tabulku, zavolejte funkci Create member objektu tabledef a zadejte název tabulky. Volání CreateField a CreateIndex pro přidání polí a indexů do tabulky.
Voláním připojit tabulku uložte tak, že ji připojíte k kolekci TableDefs databáze.
Create
umístí tabulku do otevřeného stavu, takže po volání nevoláteCreate
Open
.Tip
Nejjednodušší způsob, jak vytvořit uložené tabulky, je vytvořit je a uložit do databáze pomocí Microsoft Accessu. Pak je můžete otevřít a použít v kódu MFC.
Pokud chcete použít objekt tabledef, který jste otevřeli nebo vytvořili, vytvořte a otevřete CDaoRecordset
objekt a zadejte název tabledef s dbOpenTable
hodnotou v parametru nOpenType .
Pokud chcete k vytvoření objektu CDaoRecordset
použít tabledef, obvykle vytvoříte nebo otevřete tabledef, jak je popsáno výše, a pak vytvoříte objekt sady záznamů a předáte ukazatel na objekt tabledef při volání CDaoRecordset::Open. Předávací definice musí být v otevřeném stavu. Další informace naleznete ve třídě CDaoRecordset.
Jakmile dokončíte použití objektu tabledef, zavolejte jeho funkci Zavřít člena; pak zničit objekt tabledef.
Hierarchie dědičnosti
CDaoTableDef
Požadavky
Záhlaví: afxdao.h
CDaoTableDef::Append
Volání této členské funkce po volání create vytvořit nový tabledef objekt pro uložení tabledef v databázi.
virtual void Append();
Poznámky
Funkce připojí objekt do kolekce TableDefs databáze. Tabledef můžete použít jako dočasný objekt při jeho definování tím, že ho nepřipojíte, ale pokud ho chcete uložit a použít, musíte volat Append
.
Poznámka:
Pokud se pokusíte připojit nepojmenovaný tabledef (obsahující řetězec s hodnotou null nebo prázdný řetězec), mfc vyvolá výjimku.
Související informace najdete v tématu "Metoda připojení" v nápovědě k rozhraní DAO.
CDaoTableDef::CanUpdate
Voláním této členské funkce určíte, zda lze změnit definici tabulky podkladové objektu CDaoTableDef
.
BOOL CanUpdate();
Návratová hodnota
Nenulová, pokud je možné změnit strukturu tabulky (schéma) (přidat nebo odstranit pole a indexy), jinak 0.
Poznámky
Ve výchozím nastavení lze aktualizovat nově vytvořenou tabulku, která je podkladem objektu CDaoTableDef
, a připojenou tabulku, která je podkladem objektu CDaoTableDef
, nelze aktualizovat. Objekt CDaoTableDef
může být aktualizovatelný, i když výsledná sada záznamů není aktualizovatelná.
Související informace najdete v tématu Aktualizovatelná vlastnost v nápovědě k DAO.
CDaoTableDef::CDaoTableDef
CDaoTableDef
Vytvoří objekt.
CDaoTableDef(CDaoDatabase* pDatabase);
Parametry
pDatabase
Ukazatel na objekt CDaoDatabase .
Poznámky
Po vytvoření objektu je nutné volat funkci Create nebo Open member function. Po dokončení s objektem je nutné zavolat jeho close člen funkce a zničit CDaoTableDef
objekt.
CDaoTableDef::Close
Voláním této členské funkce zavřete a uvolněte objekt tabledef.
virtual void Close();
Poznámky
Obvykle po volání Close
, odstranit tabledef objekt, pokud byl přidělen new
.
Po volání můžete volat Close
znovu Otevřít . To vám umožní znovu použít objekt tabledef.
Související informace najdete v tématu "Zavřít metodu" v nápovědě k DAO.
CDaoTableDef::Create
Voláním této členské funkce vytvoříte novou uloženou tabulku.
virtual void Create(
LPCTSTR lpszName,
long lAttributes = 0,
LPCTSTR lpszSrcTable = NULL,
LPCTSTR lpszConnect = NULL);
Parametry
lpszName
Ukazatel na řetězec obsahující název tabulky.
lAttributes
Hodnota odpovídající charakteristikám tabulky reprezentované objektem tabledef. Bitwise-OR můžete použít ke kombinování některé z následujících konstant:
Konstanta | Popis |
---|---|
dbAttachExclusive |
U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití. |
dbAttachSavePWD |
U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení. |
dbSystemObject |
Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet. |
dbHiddenObject |
Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet. |
lpszSrcTable
Ukazatel na řetězec obsahující název zdrojové tabulky. Ve výchozím nastavení se tato hodnota inicializuje jako NULL.
lpszConnect
Ukazatel na řetězec obsahující výchozí připojovací řetězec. Ve výchozím nastavení se tato hodnota inicializuje jako NULL.
Poznámky
Jakmile pojmenujete tabledef, můžete volat Append a uložit tabledef v kolekci TableDefs databáze. Po volání Append
je tabledef v otevřeném stavu a můžete ho použít k vytvoření objektu CDaoRecordset .
Související informace najdete v tématu CreateTableDef – metoda v nápovědě k dao.
CDaoTableDef::CreateField
Voláním této členské funkce přidáte do tabulky pole.
void CreateField(
LPCTSTR lpszName,
short nType,
long lSize,
long lAttributes = 0);
void CreateField(CDaoFieldInfo& fieldinfo);
Parametry
lpszName
Ukazatel na řetězcový výraz určující název tohoto pole.
nType
Hodnota označující datový typ pole. Toto nastavení může být jedna z těchto hodnot:
Typ | Velikost (bajty) | Popis |
---|---|---|
dbBoolean |
1 bajt | BOOL |
dbByte |
BYTE | |
dbInteger |
2 | int |
dbLong |
4 | long |
dbCurrency |
8 | Currency ( COleCurrency) |
dbSingle |
4 | float (číslo s plovoucí řádovou čárkou) |
dbDouble |
8 | double |
dbDate |
8 | Datum a čas ( COleDateTime) |
dbText |
1 - 255 | Text ( CString) |
dbLongBinary |
0 | Long Binary (OLE – objekt), CLongBinary nebo CByteArray |
dbMemo |
0 | Memo ( CString) |
LSize
Hodnota označující maximální velikost pole obsahujícího text nebo pevnou velikost pole obsahujícího textové nebo číselné hodnoty. Parametr lSize se ignoruje pro všechna textová pole.
lAttributes
Hodnota odpovídající charakteristikám pole a která se dá zkombinovat pomocí bitové hodnoty OR.
Konstanta | Popis |
---|---|
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 se seřadí sestupně (Z – A nebo 100 – 0) (platí pouze pro objekt Pole v kolekci Pole objektu Index). Pokud tuto konstantu vynecháte, pole se seřadí vzestupně (A – Z nebo 0 – 100) (výchozí). |
fieldinfo
Odkaz na strukturu CDaoFieldInfo .
Poznámky
Objekt DAOField
(OLE) je vytvořen a připojen k kolekci Pole objektu DAOTableDef
(OLE). 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. První verze CreateField
je jednodušší použít, ale pokud chcete jemněji ovládat, můžete použít druhou verzi CreateField
, která přebírá CDaoFieldInfo
parametr.
Pokud používáte verzi CreateField
, která přebírá CDaoFieldInfo
parametr, musíte pečlivě nastavit všechny následující členy CDaoFieldInfo
struktury:
m_strName
m_nType
m_lSize
m_lAttributes
m_bAllowZeroLength
Zbývající členové CDaoFieldInfo
by měli být nastaveni na hodnotu 0, NEPRAVDA nebo prázdný řetězec podle potřeby člena nebo může dojít k výskytu CDaoException
.
Související informace naleznete v tématu CreateField Method v nápovědě k DAO.
CDaoTableDef::CreateIndex
Voláním této funkce přidáte index do tabulky.
void CreateIndex(CDaoIndexInfo& indexinfo);
Parametry
indexinfo
Odkaz na strukturu CDaoIndexInfo .
Poznámky
Indexy určují pořadí záznamů, ke které se přistupuje z databázových tabulek a zda jsou přijímány duplicitní záznamy. Indexy také poskytují efektivní přístup k datům.
Indexy pro tabulky nemusíte vytvářet, ale ve velkých neindexovaných tabulkách může přístup ke konkrétnímu záznamu nebo vytvoření sady záznamů trvat dlouho. Na druhou stranu vytváření příliš mnoha indexů zpomaluje operace aktualizace, připojení a odstranění, protože všechny indexy se automaticky aktualizují. Při rozhodování, které indexy se mají vytvořit, zvažte tyto faktory.
Musí být nastaveny následující členy CDaoIndexInfo
struktury:
m_strName
Musí být zadán název.m_pFieldInfos
Musí odkazovat na poleCDaoIndexFieldInfo
struktur.m_nFields
Je nutné zadat počet polí v maticiCDaoFieldInfo
struktur.
Zbývající členové budou ignorováni, pokud je nastavena hodnota NEPRAVDA. Kromě toho m_lDistinctCount
se člen při vytváření indexu ignoruje.
CDaoTableDef::D eleteField
Voláním této členské funkce odeberete pole a znepřístupníte ho.
void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);
Parametry
lpszName
Ukazatel na řetězcový výraz, který je názvem existujícího pole.
nIndex
Index pole v kolekci polí založených na nule tabulky pro vyhledávání podle indexu.
Poznámky
Tuto členovou funkci můžete použít u nového objektu, který nebyl připojen k databázi nebo když CanUpdate vrátí nenulovou hodnotu.
Související informace najdete v tématu "Metoda odstranění" v nápovědě k DAO.
CDaoTableDef::D eleteIndex
Voláním této členské funkce odstraníte index v podkladové tabulce.
void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);
Parametry
lpszName
Ukazatel na řetězcový výraz, který je názvem existujícího indexu.
nIndex
Index pole objektu indexu v kolekci TableDefs založené na nule databáze pro vyhledávání podle indexu.
Poznámky
Tuto členovou funkci můžete použít u nového objektu, který nebyl připojen k databázi nebo když CanUpdate vrátí nenulovou hodnotu.
Související informace najdete v tématu "Metoda odstranění" v nápovědě k DAO.
CDaoTableDef::GetAttributes
CDaoTableDef
U objektu návratová hodnota určuje vlastnosti tabulky reprezentované objektem CDaoTableDef
a může se jednat o součet těchto konstant:
long GetAttributes();
Návratová hodnota
Vrátí hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef
.
Poznámky
Konstanta | Popis |
---|---|
dbAttachExclusive |
U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití. |
dbAttachSavePWD |
U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení. |
dbSystemObject |
Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet. |
dbHiddenObject |
Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet. |
dbAttachedTable |
Označuje, že tabulka je připojená tabulka z databáze jiného typu než ODBC, například z databáze Paradox. |
dbAttachedODBC |
Označuje, že tabulka je připojená tabulka z databáze ODBC, například Microsoft SQL Server. |
Systémová tabulka je tabulka vytvořená databázovým strojem Microsoft Jet, která obsahuje různé interní informace.
Skrytá tabulka je tabulka vytvořená pro dočasné použití databázovým strojem Microsoft Jet.
Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.
CDaoTableDef::GetConnect
Voláním této členské funkce získáte připojovací řetězec pro zdroj dat.
CString GetConnect();
Návratová hodnota
Objekt CString
obsahující cestu a typ databáze pro tabulku.
Poznámky
CDaoTableDef
Pro objekt, který představuje připojenou tabulku, CString
se objekt skládá z jedné nebo dvou částí (specifikátor typu databáze a cesta k databázi).
Cesta, jak je znázorněno v tabulce níže, je úplná cesta pro adresář obsahující soubory databáze a musí předcházet identifikátor "DATABASE=". V některých případech (stejně jako u databází Microsoft Jet a Microsoft Excel) je v argumentu cesty k databázi zahrnutý konkrétní název souboru.
Tabulka v CDaoTableDef::SetConnect zobrazuje možné typy databází a jejich odpovídající specifikátory a cesty databáze:
Pro základní tabulky databáze Microsoft Jet je specifikátor prázdný řetězec ("").
Pokud je požadováno heslo, ale není zadané, ovladač ODBC zobrazí přihlašovací dialogové okno při prvním přístupu k tabulce a znovu, pokud je připojení zavřeno a znovu otevřeno. Pokud má dbAttachSavePWD
připojená tabulka atribut, výzva k přihlášení se nezobrazí při opětovném otevření tabulky.
Související informace najdete v tématu "Připojit vlastnost" v nápovědě k dao.
CDaoTableDef::GetDateCreated
Voláním této funkce určíte datum a čas vytvoření tabulky, která je základem objektu CDaoTableDef
.
COleDateTime GetDateCreated();
Návratová hodnota
Hodnota obsahující datum a čas vytvoření tabulky, která je podkladovým objektem CDaoTableDef
.
Poznámky
Nastavení data a času jsou odvozena od počítače, na kterém byla vytvořena nebo naposledy aktualizována základní tabulka. V prostředí s více uživateli by uživatelé měli tato nastavení získat přímo ze souborového serveru, aby se zabránilo nesrovnalostem; to znamená, že všichni klienti by měli používat "standardní" zdroj času – třeba z jednoho serveru.
Související informace najdete v tématu "DateCreated, LastUpdated Properties" v nápovědě k daO.
CDaoTableDef::GetDateLastUpdated
Voláním této funkce určíte datum a čas, kdy byla tabulka podkladového objektu CDaoTableDef
naposledy aktualizována.
COleDateTime GetDateLastUpdated();
Návratová hodnota
Hodnota, která obsahuje datum a čas, kdy byla tabulka podkladového objektu CDaoTableDef
naposledy aktualizována.
Poznámky
Nastavení data a času jsou odvozena od počítače, na kterém byla vytvořena nebo naposledy aktualizována základní tabulka. V prostředí s více uživateli by uživatelé měli tato nastavení získat přímo ze souborového serveru, aby se zabránilo nesrovnalostem; to znamená, že všichni klienti by měli používat "standardní" zdroj času – třeba z jednoho serveru.
Související informace najdete v tématu "DateCreated, LastUpdated Properties" v nápovědě k daO.
CDaoTableDef::GetFieldCount
Voláním této členské funkce načtěte počet polí definovaných v tabulce.
short GetFieldCount();
Návratová hodnota
Počet polí v tabulce
Poznámky
Pokud je hodnota 0, v kolekci nejsou žádné objekty.
Související informace najdete v tématu "Počet vlastností" v nápovědě k DAO.
CDaoTableDef::GetFieldInfo
Voláním této členské funkce získáte různé druhy informací o poli definovaném v tabulce.
void GetFieldInfo(
int nIndex,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetFieldInfo(
LPCTSTR lpszName,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parametry
nIndex
Index objektu pole v kolekci Pole založená na nule tabulky pro vyhledávání podle indexu.
fieldinfo
Odkaz na strukturu CDaoFieldInfo .
dwInfoOptions
Možnosti, které určují, které informace o poli se mají načíst. Dostupné možnosti jsou zde uvedeny spolu s tím, co způsobí vrácení funkce:
AFX_DAO_PRIMARY_INFO
(Výchozí) Název, typ, velikost, atributy. Tuto možnost použijte pro nejrychlejší výkon.AFX_DAO_SECONDARY_INFO
Primární informace, plus: Pořadí pořadových řad, Povinné, Povolit nulovou délku, Pořadí kolace, Cizí název, Zdrojové pole, Zdrojová tabulkaAFX_DAO_ALL_INFO
Primární a sekundární informace, plus: Ověřovací pravidlo, Ověřovací text, Výchozí hodnota
lpszName
Ukazatel na název objektu pole pro vyhledávání podle názvu. Název je řetězec s až 64 znaky, které pole jednoznačně pojmenovává.
Poznámky
Jedna verze funkce umožňuje vyhledat pole podle indexu. Druhá verze umožňuje vyhledat pole podle názvu.
Popis vrácených informací naleznete v CDaoFieldInfo struktury. Tato struktura obsahuje členy, které odpovídají položkám informací uvedených výše v popisu dwInfoOptions. Když požadujete informace na jedné úrovni, získáte také informace o všech předchozích úrovních.
Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.
CDaoTableDef::GetIndexCount
Voláním této členské funkce získáte počet indexů pro tabulku.
short GetIndexCount();
Návratová hodnota
Počet indexů pro tabulku.
Poznámky
Pokud je hodnota 0, v kolekci nejsou žádné indexy.
Související informace najdete v tématu "Počet vlastností" v nápovědě k DAO.
CDaoTableDef::GetIndexInfo
Voláním této členské funkce získáte různé druhy informací o indexu definovaném v tabulce.
void GetIndexInfo(
int nIndex,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetIndexInfo(
LPCTSTR lpszName,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parametry
nIndex
Číselný index objektu Index v kolekci indexů založené na nule tabulky pro vyhledávání podle jeho pozice v kolekci.
indexinfo
Odkaz na strukturu CDaoIndexInfo .
dwInfoOptions
Možnosti, které určují, které informace o indexu se mají načíst. Dostupné možnosti jsou zde uvedeny spolu s tím, co způsobí vrácení funkce:
AFX_DAO_PRIMARY_INFO
Název, informace o poli, pole. Tuto možnost použijte pro nejrychlejší výkon.AFX_DAO_SECONDARY_INFO
Primární informace, plus: Primární, Jedinečný, Skupinový, Ignorovat hodnoty Null, Povinné, CizíAFX_DAO_ALL_INFO
Primární a sekundární informace plus: Počet jedinečných položek
lpszName
Ukazatel na název objektu indexu pro vyhledávání podle názvu.
Poznámky
Jedna verze funkce umožňuje vyhledat index podle jeho pozice v kolekci. Druhá verze umožňuje vyhledat index podle názvu.
Popis vrácených informací naleznete v CDaoIndexInfo struktury. Tato struktura obsahuje členy, které odpovídají položkám informací uvedených výše v popisu dwInfoOptions. Když požadujete informace na jedné úrovni, získáte také informace o všech předchozích úrovních.
Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.
CDaoTableDef::GetName
Voláním této členské funkce získáte uživatelem definovaný název podkladové tabulky.
CString GetName();
Návratová hodnota
Uživatelem definovaný název tabulky.
Poznámky
Tento název začíná písmenem a může obsahovat maximálně 64 znaků. Může obsahovat čísla a podtržítka, ale nesmí obsahovat interpunkci ani mezery.
Související informace najdete v tématu "Vlastnost názvu" v nápovědě k DAO.
CDaoTableDef::GetRecordCount
Voláním této členské funkce zjistíte, kolik záznamů je v objektu CDaoTableDef
.
long GetRecordCount();
Návratová hodnota
Početzáznamůch
Poznámky
Volání GetRecordCount
objektu typu CDaoTableDef
tabulky odráží přibližný počet záznamů v tabulce a je ovlivněn okamžitě při přidání a odstranění záznamů tabulky. Vrácené transakce se zobrazí jako součást počtu záznamů, dokud nevoláte CDaoWorkSpace::CompactDatabase. Objekt CDaoTableDef
bez záznamů má nastavení vlastnosti počtu záznamů 0. Při práci s připojenými tabulkami nebo databázemi GetRecordCount
ODBC vždy vrátí hodnotu -1.
Související informace naleznete v tématu "RecordCount – vlastnost" v nápovědě k dao.
CDaoTableDef::GetSourceTableName
Voláním této členské funkce načtěte název připojené tabulky ve zdrojové databázi.
CString GetSourceTableName();
Návratová hodnota
Objekt CString
, který určuje název zdroje připojené tabulky nebo prázdný řetězec, pokud nativní datová tabulka.
Poznámky
Připojená tabulka je tabulka v jiné databázi propojené s databází Microsoft Jet. Data připojených tabulek zůstávají v externí databázi, kde je můžou manipulovat jiné aplikace.
Související informace najdete v tématu "Vlastnost SourceTableName" v nápovědě k DAO.
CDaoTableDef::GetValidationRule
Voláním této členské funkce načtěte ověřovací pravidlo tabulky.
CString GetValidationRule();
Návratová hodnota
CString
Objekt, který ověřuje data v poli při změně nebo přidání do tabulky.
Poznámky
Ověřovací pravidla se používají v souvislosti s operacemi aktualizace. Pokud tabulka obsahuje ověřovací pravidlo, musí aktualizace této tabulky před změnou dat odpovídat předem určeným kritériím. Pokud změna neodpovídá kritériím, vyvolá se výjimka obsahující hodnotu GetValidationText . U objektu CDaoTableDef
je to CString
jen pro čtení pro připojenou tabulku a pro čtení a zápis pro základní tabulku.
Související informace naleznete v tématu "ValidationRule – vlastnost" v nápovědě k dao.
CDaoTableDef::GetValidationText
Voláním této funkce načtěte řetězec, který se zobrazí, když uživatel zadá data, která neodpovídají ověřovacímu pravidlu.
CString GetValidationText();
Návratová hodnota
CString
Objekt, který určuje text zobrazený, pokud uživatel zadá data, která neodpovídají ověřovacímu pravidlu.
Poznámky
U objektu CDaoTableDef
je to CString
jen pro čtení pro připojenou tabulku a pro čtení a zápis pro základní tabulku.
Související informace naleznete v tématu "Vlastnost ValidationText" v nápovědě k dao.
CDaoTableDef::IsOpen
Voláním této členské funkce určíte, zda CDaoTableDef
je objekt aktuálně otevřen.
BOOL IsOpen() const;
Návratová hodnota
Nenulové, pokud CDaoTableDef
je objekt otevřený; jinak 0.
Poznámky
CDaoTableDef::m_pDatabase
Obsahuje ukazatel na objekt CDaoDatabase pro tuto tabulku.
Poznámky
CDaoTableDef::m_pDAOTableDef
Obsahuje ukazatel na rozhraní OLE pro objekt DAO tabledef, který je základem objektu CDaoTableDef
.
Poznámky
Tento ukazatel použijte, pokud potřebujete přímý přístup k rozhraní DAO.
CDaoTableDef::Open
Voláním této členské funkce otevřete tabulku dříve uloženou v kolekci TableDef databáze.
virtual void Open(LPCTSTR lpszName);
Parametry
lpszName
Ukazatel na řetězec, který určuje název tabulky.
Poznámky
CDaoTableDef::RefreshLink
Voláním této členské funkce aktualizujte informace o připojení připojené tabulky.
void RefreshLink();
Poznámky
Informace o připojení připojené tabulky změníte voláním SetConnect u odpovídajícího CDaoTableDef
objektu a následným použitím RefreshLink
členské funkce k aktualizaci informací. Při volání RefreshLink
se vlastnosti připojené tabulky nezmění.
Chcete-li vynutit, aby se změněné informace o připojení projevily, musí být všechny otevřené objekty CDaoRecordset založené na této tabulce uzavřeny.
Související informace najdete v tématu Metoda RefreshLink v nápovědě k dao.
CDaoTableDef::SetAttributes
Nastaví hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef
.
void SetAttributes(long lAttributes);
Parametry
lAttributes
Charakteristiky tabulky reprezentované objektem CDaoTableDef
a mohou být součtem těchto konstant:
Konstanta | Popis |
---|---|
dbAttachExclusive |
U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití. |
dbAttachSavePWD |
U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení. |
dbSystemObject |
Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet. |
dbHiddenObject |
Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet. |
Poznámky
Při nastavování více atributů je můžete zkombinovat tak, že sečtete příslušné konstanty pomocí bitové operátoru OR. Nastavení dbAttachExclusive
tabulky, která není součástí připojení, vytvoří výjimku. Kombinováním následujících hodnot dojde také k výjimce:
dbAttachExclusive | dbAttachedODBC
dbAttachSavePWD | dbAttachedTable
Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.
CDaoTableDef::SetConnect
CDaoTableDef
Pro objekt, který představuje připojenou tabulku, se objekt řetězce skládá z jedné nebo dvou částí (specifikátor typu databáze a cesta k databázi).
void SetConnect(LPCTSTR lpszConnect);
Parametry
lpszConnect
Ukazatel na řetězcový výraz, který určuje další parametry pro předání ovladačům ODBC nebo instalovatelným ovladačům ISAM.
Poznámky
Cesta, jak je znázorněno v tabulce níže, je úplná cesta pro adresář obsahující soubory databáze a musí předcházet identifikátor "DATABASE=". V některých případech (stejně jako u databází Microsoft Jet a Microsoft Excel) je v argumentu cesty k databázi zahrnutý konkrétní název souboru.
Poznámka:
Nepoužívejte prázdné znaky kolem příkazů cesty rovnítko ve formuláři "DATABASE=drive:\\path". Výsledkem bude vyvolána výjimka a připojení selhává.
Následující tabulka uvádí možné typy databází a jejich odpovídající specifikátory a cesty databáze:
Typ databáze | Specifikátor | Cesta |
---|---|---|
Databáze pomocí databázového stroje Jet | "[ database ];" |
" drive :\\ cesta\\ název souboru. MDB" |
dBASE III | "dBASE III;" | " drive :\\ cesta" |
dBASE IV | "dBASE IV;" | " drive :\\ cesta" |
dBASE 5 | "dBASE 5.0;" | " drive :\\ cesta" |
Paradox 3.x | "Paradox 3.x;" | " drive :\\ cesta" |
Paradox 4.x | "Paradox 4.x;" | " drive :\\ cesta" |
Paradox 5.x | "Paradox 5.x;" | " drive :\\ cesta" |
Excel 3.0 | "Excel 3.0;" | " drive :\\ cesta název_souboru\\ .XLS" |
Excel 4.0 | "Excel 4.0;" | " drive :\\ cesta název_souboru\\ .XLS" |
Excel 5.0 nebo Excel 95 | "Excel 5.0;" | " drive :\\ cesta název_souboru\\ .XLS" |
Excel 97 | "Excel 8.0;" | " drive :\\ cesta název_souboru\ .XLS" |
HTML Import | "Import HTML;" | " drive :\\ cesta název_souboru\ " |
HTML Export | "Export HTML;" | " drive :\\ cesta" |
Text | "Text;" | "drive:\\path" |
ODBC | "ODBC; DATABASE= database ; UID= uživatel; PWD= heslo; DSN= název zdroje dat; LOGINTIMEOUT= sekundy;" (Nemusí to být úplný připojovací řetězec pro všechny servery; je to jen příklad. Je velmi důležité, abyste mezi parametry neměli mezery.) |
Nic |
Exchange | "Výměna; MAPILEVEL= cesta ke složce; [TABLETYPE={ 0 | 1 };] [PROFILE= profil;] [PWD= heslo;] [DATABASE= database ;]" |
"drive:\\ path\\ filename. MDB" |
Poznámka:
Btrieve se už nepodporuje jako DAO 3.5.
V připojovací řetězec je nutné použít dvojité zpětné lomítko (\\). Pokud jste upravili vlastnosti existujícího připojení pomocí SetConnect
, musíte následně volat RefreshLink. Pokud inicializujete vlastnosti připojení pomocí SetConnect
, nemusíte volat RefreshLink
, ale měli byste se rozhodnout, že to uděláte, nejprve připojte tabulku.
Pokud je požadováno heslo, ale není zadané, ovladač ODBC zobrazí přihlašovací dialogové okno při prvním přístupu k tabulce a znovu, pokud je připojení zavřeno a znovu otevřeno.
Připojovací řetězec objektu CDaoTableDef
můžete nastavit zadáním zdrojového argumentu Create
členské funkci. Můžete zkontrolovat nastavení a určit typ, cestu, ID uživatele, heslo nebo zdroj dat ODBC databáze. Další informace najdete v dokumentaci pro konkrétní ovladač.
Související informace najdete v tématu "Připojit vlastnost" v nápovědě k dao.
CDaoTableDef::SetName
Voláním této členské funkce nastavíte uživatelem definovaný název tabulky.
void SetName(LPCTSTR lpszName);
Parametry
lpszName
Ukazatel na řetězcový výraz, který určuje název tabulky.
Poznámky
Název musí začínat písmenem a může obsahovat maximálně 64 znaků. Může obsahovat čísla a podtržítka, ale nesmí obsahovat interpunkci ani mezery.
Související informace najdete v tématu "Vlastnost názvu" v nápovědě k DAO.
CDaoTableDef::SetSourceTableName
Voláním této členské funkce určíte název připojené tabulky nebo název základní tabulky, na které CDaoTableDef
je objekt založen, protože existuje v původním zdroji dat.
void SetSourceTableName(LPCTSTR lpszSrcTableName);
Parametry
lpszSrcTableName
Ukazatel na řetězcový výraz, který určuje název tabulky v externí databázi. Pro základní tabulku je nastavení prázdný řetězec ("").
Poznámky
Pak musíte zavolat RefreshLink. Toto nastavení vlastnosti je prázdné pro základní tabulku a čtení/zápis připojené tabulky nebo objekt, který není připojen k kolekci.
Související informace najdete v tématu "Vlastnost SourceTableName" v nápovědě k DAO.
CDaoTableDef::SetValidationRule
Voláním této členské funkce nastavíte ověřovací pravidlo pro tabulku.
void SetValidationRule(LPCTSTR lpszValidationRule);
Parametry
lpszValidationRule
Ukazatel na řetězcový výraz, který ověřuje operaci.
Poznámky
Ověřovací pravidla se používají v souvislosti s operacemi aktualizace. Pokud tabulka obsahuje ověřovací pravidlo, musí aktualizace této tabulky před změnou dat odpovídat předem určeným kritériím. Pokud změna neodpovídá kritériím, zobrazí se výjimka obsahující text GetValidationText .
Ověřování je podporováno pouze pro databáze, které používají databázový stroj Microsoft Jet. Výraz nemůže odkazovat na uživatelem definované funkce, agregační funkce domény, agregační funkce SQL ani dotazy. Ověřovací pravidlo pro CDaoTableDef
objekt může odkazovat na více polí v daném objektu.
Například pro pole s názvem hire_date a termination_date může být ověřovací pravidlo:
myTableDef.SetValidationRule(_T("termination_date > hire_date"));
Související informace naleznete v tématu "ValidationRule – vlastnost" v nápovědě k dao.
CDaoTableDef::SetValidationText
Voláním této členské funkce nastavíte text ověřovacího pravidla výjimky pro CDaoTableDef
objekt s podkladovou základní tabulkou podporovanou databázovým strojem Microsoft Jet.
void SetValidationText(LPCTSTR lpszValidationText);
Parametry
lpszValidationText
Ukazatel na řetězcový výraz, který určuje text zobrazený v případě, že zadaná data jsou neplatná.
Poznámky
Ověřovací text připojené tabulky nelze nastavit.
Související informace naleznete v tématu "Vlastnost ValidationText" v nápovědě k dao.
Viz také
CObject – třída
Graf hierarchie
CDaoDatabase – třída
CDaoRecordset – třída