Udostępnij za pośrednictwem


Klasa CDaoTableDef

Reprezentuje przechowywaną definicję tabeli podstawowej lub dołączonej tabeli.

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

class CDaoTableDef : public CObject

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CDaoTableDef::CDaoTableDef CDaoTableDef Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CDaoTableDef::Append Dodaje nową tabelę do bazy danych.
CDaoTableDef::CanUpdate Zwraca wartość inną niżzerowa, jeśli można zaktualizować tabelę (można zmodyfikować definicję pól lub właściwości tabeli).
CDaoTableDef::Close Zamyka otwartą definicję tabeli.
CDaoTableDef::Create Tworzy tabelę, którą można dodać do bazy danych przy użyciu funkcji Dołącz.
CDaoTableDef::CreateField Wywoływane w celu utworzenia pola dla tabeli.
CDaoTableDef::CreateIndex Wywoływane w celu utworzenia indeksu dla tabeli.
CDaoTableDef::D eleteField Wywoływane w celu usunięcia pola z tabeli.
CDaoTableDef::D eleteIndex Wywoływana w celu usunięcia indeksu z tabeli.
CDaoTableDef::GetAttributes Zwraca wartość wskazującą co najmniej jedną cechę CDaoTableDef obiektu.
CDaoTableDef::GetConnect Zwraca wartość, która zawiera informacje o źródle tabeli.
CDaoTableDef::GetDateCreated Zwraca datę i godzinę utworzenia tabeli bazowej CDaoTableDef obiektu.
CDaoTableDef::GetDateLastUpdated Zwraca datę i godzinę ostatniej zmiany wprowadzonej w projekcie tabeli podstawowej.
CDaoTableDef::GetFieldCount Zwraca wartość reprezentującą liczbę pól w tabeli.
CDaoTableDef::GetFieldInfo Zwraca określone rodzaje informacji o polach w tabeli.
CDaoTableDef::GetIndexCount Zwraca liczbę indeksów dla tabeli.
CDaoTableDef::GetIndexInfo Zwraca określone rodzaje informacji o indeksach dla tabeli.
CDaoTableDef::GetName Zwraca zdefiniowaną przez użytkownika nazwę tabeli.
CDaoTableDef::GetRecordCount Zwraca liczbę rekordów w tabeli.
CDaoTableDef::GetSourceTableName Zwraca wartość określającą nazwę dołączonej tabeli w źródłowej bazie danych.
CDaoTableDef::GetValidationRule Zwraca wartość, która weryfikuje dane w polu w miarę ich zmiany lub dodawania do tabeli.
CDaoTableDef::GetValidationText Zwraca wartość określającą tekst komunikatu wyświetlanego przez aplikację, jeśli wartość obiektu Field nie spełnia określonej reguły walidacji.
CDaoTableDef::IsOpen Zwraca wartość niezerowa, jeśli tabela jest otwarta.
CDaoTableDef::Open Otwiera istniejącą definicję tabeli przechowywaną w kolekcji TableDef bazy danych.
CDaoTableDef::RefreshLink Aktualizuje informacje o połączeniu dla dołączonej tabeli.
CDaoTableDef::SetAttributes Ustawia wartość wskazującą co najmniej jedną cechę CDaoTableDef obiektu.
CDaoTableDef::SetConnect Ustawia wartość, która zawiera informacje o źródle tabeli.
CDaoTableDef::SetName Ustawia nazwę tabeli.
CDaoTableDef::SetSourceTableName Ustawia wartość określającą nazwę dołączonej tabeli w źródłowej bazie danych.
CDaoTableDef::SetValidationRule Ustawia wartość, która weryfikuje dane w polu w miarę ich zmiany lub dodawania do tabeli.
CDaoTableDef::SetValidationText Ustawia wartość określającą tekst komunikatu wyświetlanego przez aplikację, jeśli wartość obiektu Field nie spełnia określonej reguły walidacji.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
CDaoTableDef::m_pDAOTableDef Wskaźnik do interfejsu DAO bazowego obiektu tabledef.
CDaoTableDef::m_pDatabase Źródłowa baza danych dla tej tabeli.

Uwagi

Każdy obiekt bazy danych DAO przechowuje kolekcję o nazwie TableDefs, która zawiera wszystkie zapisane obiekty tabeli DAO.

Manipulujesz definicją CDaoTableDef tabeli przy użyciu obiektu. Można na przykład:

  • Sprawdź strukturę pól i indeksów dowolnej lokalnej, dołączonej lub zewnętrznej tabeli w bazie danych.

  • Wywołaj SetConnect funkcje składowe i SetSourceTableName dla dołączonych tabel i użyj funkcji składowej RefreshLink , aby zaktualizować połączenia z dołączonymi tabelami.

  • Wywołaj funkcję składową, CanUpdate aby określić, czy można edytować definicje pól w tabeli.

  • Uzyskiwanie lub ustawianie warunków weryfikacji przy użyciu GetValidationRule funkcji i SetValidationRulei GetValidationText elementów SetValidationText członkowskich.

  • Użyj funkcji składowej Open , aby utworzyć obiekt typu tabela-, dynaset-lub migawka CDaoRecordset .

    Uwaga

    Klasy baz danych DAO różnią się od klas baz danych MFC opartych na technologii Open Database Connectivity (ODBC). Wszystkie nazwy klas bazy danych DAO mają prefiks "CDao". Nadal można uzyskać dostęp do źródeł danych ODBC za pomocą klas DAO; Klasy DAO zwykle oferują lepsze możliwości, ponieważ są specyficzne dla aparatu bazy danych Microsoft Jet.

Aby użyć obiektów tabledef do pracy z istniejącą tabelą lub do utworzenia nowej tabeli

  1. We wszystkich przypadkach najpierw skonstruuj CDaoTableDef obiekt, podając wskaźnik do obiektu CDaoDatabase , do którego należy tabela.

  2. Następnie wykonaj następujące czynności w zależności od tego, co chcesz:

    • Aby użyć istniejącej zapisanej tabeli, wywołaj funkcję Open member obiektu tabledef, podając nazwę zapisanej tabeli.

    • Aby utworzyć nową tabelę, wywołaj funkcję create member obiektu tabledef, podając nazwę tabeli. Wywołaj metodę CreateField i CreateIndex , aby dodać pola i indeksy do tabeli.

    • Wywołaj metodę Append , aby zapisać tabelę, dołączając ją do kolekcji TableDefs bazy danych. Create polecenie tabledef jest w stanie otwartym, więc po wywołaniu Create polecenia nie wywołujesz metody Open.

      Napiwek

      Najprostszym sposobem tworzenia zapisanych tabel jest utworzenie ich i zapisanie ich w bazie danych przy użyciu programu Microsoft Access. Następnie możesz je otworzyć i użyć w kodzie MFC.

Aby użyć obiektu tabledef, który został otwarty lub utworzony, utwórz i otwórz CDaoRecordset obiekt, określając nazwę tabelidef z wartością dbOpenTable w parametrze nOpenType .

Aby użyć obiektu tabledef do utworzenia CDaoRecordset obiektu, zazwyczaj tworzy się lub otwiera definicję tabeli zgodnie z powyższym opisem, a następnie skonstruujesz obiekt zestawu rekordów, przekazując wskaźnik do obiektu tabledef podczas wywoływania CDaoRecordset::Open. Tabeladef, którą należy przekazać, musi być w stanie otwartym. Aby uzyskać więcej informacji, zobacz klasa CDaoRecordset.

Po zakończeniu korzystania z obiektu tabledef wywołaj funkcję zamknij składową, a następnie zniszcz obiekt tabledef.

Hierarchia dziedziczenia

Obiekt CObject

CDaoTableDef

Wymagania

Nagłówek: afxdao.h

CDaoTableDef::Append

Wywołaj tę funkcję składową po wywołaniu polecenia Utwórz , aby utworzyć nowy obiekt tabledef w celu zapisania definicji tabeli w bazie danych.

virtual void Append();

Uwagi

Funkcja dołącza obiekt do kolekcji TableDefs bazy danych. Definicję tabeli można użyć jako obiektu tymczasowego podczas definiowania go, nie dołączając go, ale jeśli chcesz go zapisać i użyć, musisz wywołać metodę Append.

Uwaga

Jeśli spróbujesz dołączyć nienazwaną definicję tabeli (zawierającą ciąg o wartości null lub pusty), MFC zgłosi wyjątek.

Aby uzyskać powiązane informacje, zobacz temat "Metoda dołączania" w pomocy dao.

CDaoTableDef::CanUpdate

Wywołaj tę funkcję składową, aby określić, czy można zmienić definicję tabeli bazowej CDaoTableDef obiektu.

BOOL CanUpdate();

Wartość zwracana

Niezerowe, jeśli można zmodyfikować strukturę tabeli (schemat) (dodawać lub usuwać pola i indeksy), w przeciwnym razie 0.

Uwagi

Domyślnie nowo utworzona tabela bazowa CDaoTableDef obiektu może zostać zaktualizowana, a dołączona tabela bazowa CDaoTableDef obiektu nie może zostać zaktualizowana. CDaoTableDef Obiekt może być aktualizowalny, nawet jeśli wynikowy zestaw rekordów nie jest aktualizowalny.

Aby uzyskać powiązane informacje, zobacz temat "Updatable Property" (Właściwość aktualizowalna) w pomocy dotyczącej języka DAO.

CDaoTableDef::CDaoTableDef

CDaoTableDef Tworzy obiekt.

CDaoTableDef(CDaoDatabase* pDatabase);

Parametry

pDatabase
Wskaźnik do obiektu CDaoDatabase .

Uwagi

Po utworzeniu obiektu należy wywołać funkcję Utwórz lub Otwórz element członkowski. Po zakończeniu pracy z obiektem należy wywołać jego funkcję elementy członkowskie Close i zniszczyć CDaoTableDef obiekt.

CDaoTableDef::Close

Wywołaj tę funkcję składową, aby zamknąć i zwolnić obiekt tabledef.

virtual void Close();

Uwagi

Zwykle po wywołaniu Closemetody należy usunąć obiekt tabledef, jeśli został przydzielony za pomocą newpolecenia .

Możesz ponownie wywołać metodę Otwórz po wywołaniu metody Close. Umożliwia to ponowne użycie obiektu tabledef.

Aby uzyskać powiązane informacje, zobacz temat "Close Method" (Metoda zamykania) w pomocy dao.

CDaoTableDef::Create

Wywołaj tę funkcję składową, aby utworzyć nową zapisaną tabelę.

virtual void Create(
    LPCTSTR lpszName,
    long lAttributes = 0,
    LPCTSTR lpszSrcTable = NULL,
    LPCTSTR lpszConnect = NULL);

Parametry

lpszName
Wskaźnik do ciągu zawierającego nazwę tabeli.

lAttributes
Wartość odpowiadająca cechom tabeli reprezentowanej przez obiekt tabledef. Możesz użyć bitowego or, aby połączyć dowolną z następujących stałych:

Stała opis
dbAttachExclusive W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że tabela jest dołączoną tabelą otwartą do wyłącznego użytku.
dbAttachSavePWD W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że identyfikator użytkownika i hasło dołączonej tabeli są zapisywane przy użyciu informacji o połączeniu.
dbSystemObject Wskazuje, że tabela jest tabelą systemową dostarczaną przez aparat bazy danych Microsoft Jet.
dbHiddenObject Wskazuje, że tabela jest ukrytą tabelą dostarczaną przez aparat bazy danych Microsoft Jet.

lpszSrcTable
Wskaźnik do ciągu zawierającego nazwę tabeli źródłowej. Domyślnie ta wartość jest inicjowana jako NULL.

lpszConnect
Wskaźnik do ciągu zawierającego parametry połączenia domyślną. Domyślnie ta wartość jest inicjowana jako NULL.

Uwagi

Po nazwie tabledef możesz wywołać metodę Append , aby zapisać definicję tabeli w kolekcji TableDefs bazy danych. Po wywołaniu metody Appendparametr tabledef jest w stanie otwartym i można go użyć do utworzenia obiektu CDaoRecordset .

Aby uzyskać powiązane informacje, zobacz temat "CreateTableDef Method" (Metoda CreateTableDef) w pomocy dao.

CDaoTableDef::CreateField

Wywołaj tę funkcję składową, aby dodać pole do tabeli.

void CreateField(
    LPCTSTR lpszName,
    short nType,
    long lSize,
    long lAttributes = 0);

void CreateField(CDaoFieldInfo& fieldinfo);

Parametry

lpszName
Wskaźnik do wyrażenia ciągu określający nazwę tego pola.

nType
Wartość wskazująca typ danych pola. Ustawienie może być jedną z następujących wartości:

Typ Rozmiar (bajty) opis
dbBoolean 1 bajt BOOL
dbByte BYTE
dbInteger 2 int
dbLong 100 długi
dbCurrency 8 Waluta ( COleCurrency)
dbSingle 100 liczba zmiennoprzecinkowa
dbDouble 8 double
dbDate 8 Data/godzina ( COleDateTime)
dbText 1 - 255 Text ( CString)
dbLongBinary 0 Długi plik binarny (obiekt OLE), CLongBinary lub CByteArray
dbMemo 0 Nota ( CString)

Rozmiar l
Wartość wskazująca maksymalny rozmiar w bajtach pola zawierającego tekst lub stały rozmiar pola zawierającego wartości tekstowe lub liczbowe. Parametr lSize jest ignorowany dla wszystkich pól tekstowych, ale.

lAttributes
Wartość odpowiadająca cechom pola i którą można połączyć za pomocą bitowego or.

Stała opis
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 Field w kolekcji Pola obiektu Indeks). Jeśli pominięto tę stałą, pole jest sortowane w kolejności rosnącej (A – Z lub 0 – 100) (wartość domyślna).

fieldinfo
Odwołanie do struktury CDaoFieldInfo .

Uwagi

Obiekt DAOField (OLE) jest tworzony i dołączany do kolekcji DAOTableDef Fields obiektu (OLE). 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. Pierwsza wersja programu CreateField jest prostsza do użycia, ale jeśli chcesz uzyskać dokładnszą kontrolę, możesz użyć drugiej wersji CreateFieldelementu , która przyjmuje CDaoFieldInfo parametr .

Jeśli używasz wersji CreateField , która przyjmuje CDaoFieldInfo parametr, należy dokładnie ustawić każdy z następujących elementów członkowskich CDaoFieldInfo struktury:

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

Pozostałe elementy członkowskie CDaoFieldInfo powinny być ustawione na 0, FALSE lub pusty ciąg, odpowiednio dla elementu członkowskiego, lub CDaoException może wystąpić.

Aby uzyskać powiązane informacje, zobacz temat "CreateField Method" (Metoda CreateField) w pomocy dao.

CDaoTableDef::CreateIndex

Wywołaj tę funkcję, aby dodać indeks do tabeli.

void CreateIndex(CDaoIndexInfo& indexinfo);

Parametry

indexinfo
Odwołanie do struktury CDaoIndexInfo .

Uwagi

Indeksy określają kolejność rekordów, do których uzyskuje się dostęp z tabel bazy danych i czy akceptowane są zduplikowane rekordy. Indeksy zapewniają również wydajny dostęp do danych.

Nie trzeba tworzyć indeksów dla tabel, ale w dużych, nieindeksowanych tabelach uzyskiwanie dostępu do określonego rekordu lub tworzenie zestawu rekordów może zająć dużo czasu. Z drugiej strony tworzenie zbyt wielu indeksów spowalnia operacje aktualizacji, dołączania i usuwania, ponieważ wszystkie indeksy są automatycznie aktualizowane. Rozważ te czynniki podczas decydowania o tym, które indeksy mają zostać utworzone.

Należy ustawić następujące elementy członkowskie CDaoIndexInfo struktury:

  • m_strName Należy podać nazwę.

  • m_pFieldInfos Musi wskazywać tablicę CDaoIndexFieldInfo struktur.

  • m_nFields Musi określać liczbę pól w tablicy CDaoFieldInfo struktur.

Pozostałe elementy członkowskie zostaną zignorowane, jeśli zostanie ustawiona wartość FALSE. Ponadto element członkowski m_lDistinctCount jest ignorowany podczas tworzenia indeksu.

CDaoTableDef::D eleteField

Wywołaj tę funkcję składową, aby usunąć pole i uczynić je niedostępnym.

void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);

Parametry

lpszName
Wskaźnik do wyrażenia ciągu, który jest nazwą istniejącego pola.

nIndex
Indeks pola w kolekcji Pola oparte na zera tabeli dla wyszukiwania według indeksu.

Uwagi

Tej funkcji składowej można użyć w nowym obiekcie, który nie został dołączony do bazy danych lub gdy program CanUpdate zwraca wartość niezerową.

Aby uzyskać powiązane informacje, zobacz temat "Delete Method" (Usuwanie metody) w pomocy dao.

CDaoTableDef::D eleteIndex

Wywołaj tę funkcję składową, aby usunąć indeks w tabeli bazowej.

void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);

Parametry

lpszName
Wskaźnik do wyrażenia ciągu, który jest nazwą istniejącego indeksu.

nIndex
Indeks tablicy obiektu indeksu w kolekcji TableDefs bazy danych oparty na zera dla wyszukiwania według indeksu.

Uwagi

Tej funkcji składowej można użyć w nowym obiekcie, który nie został dołączony do bazy danych lub gdy program CanUpdate zwraca wartość niezerową.

Aby uzyskać powiązane informacje, zobacz temat "Delete Method" (Usuwanie metody) w pomocy dao.

CDaoTableDef::GetAttributes

CDaoTableDef W przypadku obiektu wartość zwracana określa cechy tabeli reprezentowanej przez CDaoTableDef obiekt i może być sumą tych stałych:

long GetAttributes();

Wartość zwracana

Zwraca wartość wskazującą co najmniej jedną cechę CDaoTableDef obiektu.

Uwagi

Stała opis
dbAttachExclusive W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że tabela jest dołączoną tabelą otwartą do wyłącznego użytku.
dbAttachSavePWD W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że identyfikator użytkownika i hasło dołączonej tabeli są zapisywane przy użyciu informacji o połączeniu.
dbSystemObject Wskazuje, że tabela jest tabelą systemową dostarczaną przez aparat bazy danych Microsoft Jet.
dbHiddenObject Wskazuje, że tabela jest ukrytą tabelą dostarczaną przez aparat bazy danych Microsoft Jet.
dbAttachedTable Wskazuje, że tabela jest dołączoną tabelą z bazy danych innej niż ODBC, takiej jak baza danych Paradox.
dbAttachedODBC Wskazuje, że tabela jest dołączoną tabelą z bazy danych ODBC, takiej jak Microsoft SQL Server.

Tabela systemowa to tabela utworzona przez aparat bazy danych Microsoft Jet zawierający różne informacje wewnętrzne.

Ukryta tabela to tabela utworzona do tymczasowego użycia przez aparat bazy danych Microsoft Jet.

Aby uzyskać powiązane informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.

CDaoTableDef::GetConnect

Wywołaj tę funkcję składową, aby uzyskać parametry połączenia dla źródła danych.

CString GetConnect();

Wartość zwracana

CString Obiekt zawierający ścieżkę i typ bazy danych dla tabeli.

Uwagi

CDaoTableDef W przypadku obiektu reprezentującego dołączoną tabelę CString obiekt składa się z jednej lub dwóch części (specyfikatora typu bazy danych i ścieżki do bazy danych).

Ścieżka, jak pokazano w poniższej tabeli, to pełna ścieżka katalogu zawierającego pliki bazy danych i musi być poprzedzona identyfikatorem "DATABASE=". W niektórych przypadkach (podobnie jak w przypadku baz danych programu Microsoft Jet i Microsoft Excel) określona nazwa pliku jest uwzględniona w argumencie ścieżki bazy danych.

Tabela w tabeli CDaoTableDef::SetConnect zawiera możliwe typy baz danych i odpowiadające im specyfikatory i ścieżki bazy danych:

W przypadku tabel bazowych bazy danych microsoft Jet specyfikator jest pustym ciągiem ("").

Jeśli hasło jest wymagane, ale nie podano, sterownik ODBC wyświetla okno dialogowe logowania przy pierwszym zamknięciu i ponownym otwarciu tabeli. Jeśli dołączona tabela ma dbAttachSavePWD atrybut, monit logowania nie będzie wyświetlany po ponownym otwarciu tabeli.

Aby uzyskać powiązane informacje, zobacz temat "Connect Property" (Łączenie właściwości) w pomocy dao.

CDaoTableDef::GetDateCreated

Wywołaj tę funkcję, aby określić datę i godzinę utworzenia tabeli bazowej CDaoTableDef obiektu.

COleDateTime GetDateCreated();

Wartość zwracana

Wartość zawierająca datę i godzinę utworzenia tabeli bazowej CDaoTableDef obiektu.

Uwagi

Ustawienia daty i godziny pochodzą z komputera, na którym utworzono lub ostatnio zaktualizowano tabelę podstawową. W środowisku z wieloma użytkownikami użytkownicy powinni uzyskać te ustawienia bezpośrednio z serwera plików, aby uniknąć rozbieżności; oznacza to, że wszyscy klienci powinni używać źródła czasu "standardowego" — być może z jednego serwera.

Aby uzyskać powiązane informacje, zobacz temat "DateCreated, LastUpdated Properties" w Pomocy dao.

CDaoTableDef::GetDateLastUpdated

Wywołaj tę funkcję, aby określić datę i godzinę ostatniej aktualizacji tabeli bazowej CDaoTableDef obiektu.

COleDateTime GetDateLastUpdated();

Wartość zwracana

Wartość zawierająca datę i godzinę tabeli bazowej CDaoTableDef obiektu została ostatnio zaktualizowana.

Uwagi

Ustawienia daty i godziny pochodzą z komputera, na którym utworzono lub ostatnio zaktualizowano tabelę podstawową. W środowisku z wieloma użytkownikami użytkownicy powinni uzyskać te ustawienia bezpośrednio z serwera plików, aby uniknąć rozbieżności; oznacza to, że wszyscy klienci powinni używać źródła czasu "standardowego" — być może z jednego serwera.

Aby uzyskać powiązane informacje, zobacz temat "DateCreated, LastUpdated Properties" w Pomocy dao.

CDaoTableDef::GetFieldCount

Wywołaj tę funkcję składową, aby pobrać liczbę pól zdefiniowanych w tabeli.

short GetFieldCount();

Wartość zwracana

Liczba pól w tabeli.

Uwagi

Jeśli jej wartość to 0, w kolekcji nie ma żadnych obiektów.

Aby uzyskać powiązane informacje, zobacz temat "Count Property" (Zlicz właściwość) w pomocy dao.

CDaoTableDef::GetFieldInfo

Wywołaj tę funkcję składową, aby uzyskać różne rodzaje informacji o polu zdefiniowanym w definicji tabeli.

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
Indeks obiektu pola w kolekcji Pola opartej na zera tabeli dla wyszukiwania według indeksu.

fieldinfo
Odwołanie do struktury CDaoFieldInfo .

dwInfoOptions
Opcje określające, które informacje o polu mają być pobierane. Dostępne opcje są wymienione tutaj wraz z tym, co powodują zwrócenie funkcji:

  • AFX_DAO_PRIMARY_INFO (Ustawienie domyślne) Nazwa, typ, rozmiar, atrybuty. Użyj tej opcji, aby uzyskać najszybszą wydajność.

  • AFX_DAO_SECONDARY_INFO Podstawowe informacje oraz: Pozycja porządkowa, Wymagana, Zezwalaj na długość zerową, Sortowanie kolejności, Nazwa zagraniczna, Pole źródłowe, Tabela źródłowa

  • AFX_DAO_ALL_INFO Podstawowe i pomocnicze informacje oraz: Reguła walidacji, Tekst walidacji, Wartość domyślna

lpszName
Wskaźnik do nazwy obiektu pola, aby wyszukać według nazwy. Nazwa jest ciągiem zawierającym maksymalnie 64 znaki, które unikatowo nazywają to pole.

Uwagi

Jedna wersja funkcji umożliwia wyszukanie pola według indeksu. Druga wersja umożliwia wyszukanie pola według nazwy.

Aby uzyskać opis zwróconych informacji, zobacz strukturę CDaoFieldInfo . Ta struktura zawiera elementy członkowskie, które odpowiadają elementom informacji wymienionych powyżej w opisie dwInfoOptions. Gdy żądasz informacji na jednym poziomie, uzyskasz również informacje dotyczące wszystkich poprzednich poziomów.

Aby uzyskać powiązane informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.

CDaoTableDef::GetIndexCount

Wywołaj tę funkcję składową, aby uzyskać liczbę indeksów dla tabeli.

short GetIndexCount();

Wartość zwracana

Liczba indeksów dla tabeli.

Uwagi

Jeśli jej wartość to 0, w kolekcji nie ma żadnych indeksów.

Aby uzyskać powiązane informacje, zobacz temat "Count Property" (Zlicz właściwość) w pomocy dao.

CDaoTableDef::GetIndexInfo

Wywołaj tę funkcję składową, aby uzyskać różne rodzaje informacji o indeksie zdefiniowanym w definicji tabeli.

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
Indeks liczbowy obiektu Index w kolekcji indeksów opartych na zera tabeli dla wyszukiwania według jego pozycji w kolekcji.

indexinfo
Odwołanie do struktury CDaoIndexInfo .

dwInfoOptions
Opcje określające, które informacje o indeksie mają być pobierane. Dostępne opcje są wymienione tutaj wraz z tym, co powodują zwrócenie funkcji:

  • AFX_DAO_PRIMARY_INFO Nazwa, Informacje o polu, Pola. Użyj tej opcji, aby uzyskać najszybszą wydajność.

  • AFX_DAO_SECONDARY_INFO Podstawowe informacje oraz: Primary, Unique, Clustered, Ignore Nulls, Required, Foreign

  • AFX_DAO_ALL_INFO Podstawowe i pomocnicze informacje oraz: Liczba unikatowych

lpszName
Wskaźnik do nazwy obiektu indeksu, aby wyszukać według nazwy.

Uwagi

Jedna wersja funkcji umożliwia wyszukanie indeksu według jego pozycji w kolekcji. Druga wersja umożliwia wyszukiwanie indeksu według nazwy.

Aby uzyskać opis zwróconych informacji, zobacz strukturę CDaoIndexInfo . Ta struktura zawiera elementy członkowskie, które odpowiadają elementom informacji wymienionych powyżej w opisie dwInfoOptions. Gdy żądasz informacji na jednym poziomie, uzyskasz również informacje dotyczące wszystkich poprzednich poziomów.

Aby uzyskać powiązane informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.

CDaoTableDef::GetName

Wywołaj tę funkcję składową, aby uzyskać zdefiniowaną przez użytkownika nazwę tabeli bazowej.

CString GetName();

Wartość zwracana

Zdefiniowana przez użytkownika nazwa tabeli.

Uwagi

Ta nazwa zaczyna się literą i może zawierać maksymalnie 64 znaki. Może zawierać liczby i znaki podkreślenia, ale nie może zawierać znaków interpunkcyjnych ani spacji.

Aby uzyskać powiązane informacje, zobacz temat "Name Property" (Nazwa właściwości) w pomocy dao.

CDaoTableDef::GetRecordCount

Wywołaj tę funkcję składową, aby dowiedzieć się, ile rekordów znajduje się w CDaoTableDef obiekcie.

long GetRecordCount();

Wartość zwracana

Liczba rekordów, do których uzyskuje się dostęp w obiekcie tabledef.

Uwagi

Wywołanie GetRecordCount obiektu typu CDaoTableDef tabeli odzwierciedla przybliżoną liczbę rekordów w tabeli i ma to wpływ natychmiast po dodaniu i usunięciu rekordów tabeli. Wycofane transakcje będą wyświetlane jako część liczby rekordów do momentu wywołania CDaoWorkSpace ::CompactDatabase. CDaoTableDef Obiekt bez rekordów ma ustawienie właściwości licznika rekordów 0. Podczas pracy z dołączonymi tabelami lub bazami danych GetRecordCount ODBC zawsze zwraca wartość -1.

Aby uzyskać powiązane informacje, zobacz temat "RecordCount Property" (Właściwość rekordu) w pomocy języka DAO.

CDaoTableDef::GetSourceTableName

Wywołaj tę funkcję składową, aby pobrać nazwę dołączonej tabeli w źródłowej bazie danych.

CString GetSourceTableName();

Wartość zwracana

CString Obiekt, który określa nazwę źródłową dołączonej tabeli lub pusty ciąg, jeśli natywna tabela danych.

Uwagi

Dołączona tabela to tabela w innej bazie danych połączonej z bazą danych Microsoft Jet. Dane dla dołączonych tabel pozostają w zewnętrznej bazie danych, gdzie mogą być manipulowane przez inne aplikacje.

Aby uzyskać powiązane informacje, zobacz temat "SourceTableName Property" (Właściwość SourceTableName) w pomocy dao.

CDaoTableDef::GetValidationRule

Wywołaj tę funkcję składową, aby pobrać regułę poprawności dla definicji tabeli.

CString GetValidationRule();

Wartość zwracana

CString Obiekt, który weryfikuje dane w polu w miarę ich zmiany lub dodawania do tabeli.

Uwagi

Reguły walidacji są używane w połączeniu z operacjami aktualizacji. Jeśli tabeladef zawiera regułę sprawdzania poprawności, aktualizacje tej definicji tabeli muszą odpowiadać wstępnie określonym kryteriom przed zmianą danych. Jeśli zmiana nie jest zgodna z kryteriami, zostanie zgłoszony wyjątek zawierający wartość GetValidationText . CDaoTableDef W przypadku obiektu jest to CString tylko do odczytu dołączonej tabeli i odczyt/zapis dla tabeli podstawowej.

Aby uzyskać powiązane informacje, zobacz temat "ValidationRule Property" (Właściwość ValidationRule) w pomocy języka DAO.

CDaoTableDef::GetValidationText

Wywołaj tę funkcję, aby pobrać ciąg do wyświetlenia, gdy użytkownik wprowadzi dane niezgodne z regułą walidacji.

CString GetValidationText();

Wartość zwracana

CString Obiekt określający tekst wyświetlany, jeśli użytkownik wprowadza dane niezgodne z regułą walidacji.

Uwagi

CDaoTableDef W przypadku obiektu jest to CString tylko do odczytu dołączonej tabeli i odczyt/zapis dla tabeli podstawowej.

Aby uzyskać powiązane informacje, zobacz temat "ValidationText Property" (Właściwość ValidationText) w pomocy dao.

CDaoTableDef::IsOpen

Wywołaj tę funkcję składową, aby określić, czy CDaoTableDef obiekt jest obecnie otwarty.

BOOL IsOpen() const;

Wartość zwracana

Nonzero, jeśli CDaoTableDef obiekt jest otwarty; w przeciwnym razie 0.

Uwagi

CDaoTableDef::m_pDatabase

Zawiera wskaźnik do obiektu CDaoDatabase dla tej tabeli.

Uwagi

CDaoTableDef::m_pDAOTableDef

Zawiera wskaźnik do interfejsu OLE dla obiektu tabledef obiektu DAO bazowego CDaoTableDef obiektu .

Uwagi

Użyj tego wskaźnika, jeśli chcesz uzyskać bezpośredni dostęp do interfejsu DAO.

CDaoTableDef::Open

Wywołaj tę funkcję składową, aby otworzyć definicję tabeli wcześniej zapisaną w kolekcji TableDef bazy danych.

virtual void Open(LPCTSTR lpszName);

Parametry

lpszName
Wskaźnik do ciągu, który określa nazwę tabeli.

Uwagi

Wywołaj tę funkcję składową, aby zaktualizować informacje o połączeniu dla dołączonej tabeli.

void RefreshLink();

Uwagi

Informacje o połączeniu dla dołączonej tabeli można zmienić, wywołując metodę SetConnect dla odpowiedniego CDaoTableDef obiektu, a następnie używając funkcji składowej RefreshLink w celu zaktualizowania informacji. Po wywołaniu RefreshLinkmetody właściwości dołączonej tabeli nie zostaną zmienione.

Aby wymusić zastosowanie zmodyfikowanych informacji o połączeniu, wszystkie otwarte obiekty CDaoRecordset oparte na tej definicji tabeli muszą być zamknięte.

Aby uzyskać powiązane informacje, zobacz temat "RefreshLink Method" (Metoda RefreshLink) w pomocy dao.

CDaoTableDef::SetAttributes

Ustawia wartość wskazującą co najmniej jedną cechę CDaoTableDef obiektu.

void SetAttributes(long lAttributes);

Parametry

lAttributes
Cechy tabeli reprezentowane przez CDaoTableDef obiekt i mogą być sumą tych stałych:

Stała opis
dbAttachExclusive W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że tabela jest dołączoną tabelą otwartą do wyłącznego użytku.
dbAttachSavePWD W przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet wskazuje, że identyfikator użytkownika i hasło dołączonej tabeli są zapisywane przy użyciu informacji o połączeniu.
dbSystemObject Wskazuje, że tabela jest tabelą systemową dostarczaną przez aparat bazy danych Microsoft Jet.
dbHiddenObject Wskazuje, że tabela jest ukrytą tabelą dostarczaną przez aparat bazy danych Microsoft Jet.

Uwagi

Podczas ustawiania wielu atrybutów można je połączyć, sumując odpowiednie stałe przy użyciu operatora bitowego OR. Ustawienie dbAttachExclusive w nieprzyłączonej tabeli powoduje wyjątek. Połączenie następujących wartości powoduje również wyjątek:

  • dbAttachExclusive | dbAttachedODBC

  • dbAttachSavePWD | dbAttachedTable

Aby uzyskać powiązane informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.

CDaoTableDef::SetConnect

CDaoTableDef W przypadku obiektu reprezentującego dołączoną tabelę obiekt ciągu składa się z jednej lub dwóch części (specyfikatora typu bazy danych i ścieżki do bazy danych).

void SetConnect(LPCTSTR lpszConnect);

Parametry

lpszConnect
Wskaźnik do wyrażenia ciągu, który określa dodatkowe parametry do przekazania do odBC lub instalowanych sterowników ISAM.

Uwagi

Ścieżka, jak pokazano w poniższej tabeli, to pełna ścieżka katalogu zawierającego pliki bazy danych i musi być poprzedzona identyfikatorem "DATABASE=". W niektórych przypadkach (podobnie jak w przypadku baz danych programu Microsoft Jet i Microsoft Excel) określona nazwa pliku jest uwzględniona w argumencie ścieżki bazy danych.

Uwaga

Nie należy dołączać białych znaków wokół instrukcji path znaku równości w formularzu "DATABASE=drive:\\path". Spowoduje to zgłoszenie wyjątku i niepowodzenie połączenia.

W poniższej tabeli przedstawiono możliwe typy baz danych i odpowiadające im specyfikatory i ścieżki bazy danych:

Typ bazy danych Specyfikator Ścieżka
Baza danych korzystająca z aparatu bazy danych Jet "[ database];" " drive:\\ ścieżka\\ nazwa pliku. MDB"
dBASE III "dBASE III;" " drive:\\ path"
dBASE IV "dBASE IV;" " drive:\\ path"
dBASE 5 "dBASE 5.0;" " drive:\\ path"
Paradox 3.x "Paradox 3.x;" " drive:\\ path"
Paradox 4.x "Paradox 4.x;" " drive:\\ path"
Paradox 5.x "Paradox 5.x;" " drive:\\ path"
Excel 3.0 "Excel 3.0;" " drive:\\ ścieżka\\ nazwa pliku.XLS"
Excel 4.0 "Excel 4.0;" " drive:\\ ścieżka\\ nazwa pliku.XLS"
Excel 5.0 lub Excel 95 "Excel 5.0;" " drive:\\ ścieżka\\ nazwa pliku.XLS"
Excel 97 "Excel 8.0;" " drive:\\ ścieżka\ nazwa pliku.XLS"
Importowanie kodu HTML "Import HTML;" " drive:\\ ścieżka\ nazwa pliku"
Eksport HTML "Eksport HTML;" " drive:\\ path"
Text "Tekst;" "drive:\\path"
ODBC "ODBC; DATABASE= database; UID= użytkownik; PWD = hasło; DSN = datasourcename; LOGINTIMEOUT= seconds;" (Może to nie być kompletna parametry połączenia dla wszystkich serwerów; jest to tylko przykład. Bardzo ważne jest, aby nie mieć spacji między parametrami). Brak
Exchange "Exchange;

MAPILEVEL = ścieżka folderu;

[TABLETYPE={ 0 | 1 };]

[PROFILE= profil;]

[PWD= hasło;]

[DATABASE= database;]"
"drive:\\ path\\ nazwa pliku. MDB"

Uwaga

Btrieve nie jest już obsługiwany jako DAO 3.5.

W parametry połączenia s należy użyć podwójnego ukośnika odwrotnego (\\). Jeśli zmodyfikowano właściwości istniejącego połączenia przy użyciu metody SetConnect, należy następnie wywołać metodę RefreshLink. Jeśli inicjujesz właściwości połączenia przy użyciu metody SetConnect, nie musisz wywoływać RefreshLinkmetody , ale jeśli chcesz to zrobić, najpierw dołącz tabelędef.

Jeśli hasło jest wymagane, ale nie podano, sterownik ODBC wyświetla okno dialogowe logowania przy pierwszym zamknięciu i ponownym otwarciu tabeli.

Można ustawić parametry połączenia dla CDaoTableDef obiektu, podając argument źródłowy funkcji składowejCreate. Możesz sprawdzić ustawienie, aby określić typ, ścieżkę, identyfikator użytkownika, hasło lub źródło danych ODBC bazy danych. Aby uzyskać więcej informacji, zobacz dokumentację dla określonego sterownika.

Aby uzyskać powiązane informacje, zobacz temat "Connect Property" (Łączenie właściwości) w pomocy dao.

CDaoTableDef::SetName

Wywołaj tę funkcję składową, aby ustawić nazwę zdefiniowaną przez użytkownika dla tabeli.

void SetName(LPCTSTR lpszName);

Parametry

lpszName
Wskaźnik do wyrażenia ciągu, który określa nazwę tabeli.

Uwagi

Nazwa musi zaczynać się literą i może zawierać maksymalnie 64 znaki. Może zawierać liczby i znaki podkreślenia, ale nie może zawierać znaków interpunkcyjnych ani spacji.

Aby uzyskać powiązane informacje, zobacz temat "Name Property" (Nazwa właściwości) w pomocy dao.

CDaoTableDef::SetSourceTableName

Wywołaj tę funkcję składową, aby określić nazwę dołączonej tabeli lub nazwę tabeli bazowej, na której CDaoTableDef jest oparty obiekt, ponieważ istnieje w oryginalnym źródle danych.

void SetSourceTableName(LPCTSTR lpszSrcTableName);

Parametry

lpszSrcTableName
Wskaźnik do wyrażenia ciągu, który określa nazwę tabeli w zewnętrznej bazie danych. W przypadku tabeli podstawowej ustawienie jest pustym ciągiem ("").

Uwagi

Następnie należy wywołać metodę RefreshLink. To ustawienie właściwości jest puste dla tabeli podstawowej i odczyt/zapis dla dołączonej tabeli lub obiektu, który nie jest dołączany do kolekcji.

Aby uzyskać powiązane informacje, zobacz temat "SourceTableName Property" (Właściwość SourceTableName) w pomocy dao.

CDaoTableDef::SetValidationRule

Wywołaj tę funkcję składową, aby ustawić regułę poprawności dla tabelidef.

void SetValidationRule(LPCTSTR lpszValidationRule);

Parametry

lpszValidationRule
Wskaźnik do wyrażenia ciągu, który weryfikuje operację.

Uwagi

Reguły walidacji są używane w połączeniu z operacjami aktualizacji. Jeśli tabeladef zawiera regułę sprawdzania poprawności, aktualizacje tej definicji tabeli muszą odpowiadać wstępnie określonym kryteriom przed zmianą danych. Jeśli zmiana nie jest zgodna z kryteriami, zostanie wyświetlony wyjątek zawierający tekst getValidationText .

Walidacja jest obsługiwana tylko w przypadku baz danych korzystających z aparatu bazy danych Microsoft Jet. Wyrażenie nie może odwoływać się do funkcji zdefiniowanych przez użytkownika, funkcji agregujących domeny, funkcji agregujących SQL lub zapytań. Reguła sprawdzania CDaoTableDef poprawności obiektu może odwoływać się do wielu pól w tym obiekcie.

Na przykład w przypadku pól o nazwach hire_date i termination_date reguła sprawdzania poprawności może być następująca:

myTableDef.SetValidationRule(_T("termination_date > hire_date"));

Aby uzyskać powiązane informacje, zobacz temat "ValidationRule Property" (Właściwość ValidationRule) w pomocy języka DAO.

CDaoTableDef::SetValidationText

Wywołaj tę funkcję składową, aby ustawić tekst wyjątku reguły CDaoTableDef sprawdzania poprawności dla obiektu z bazową tabelą bazową obsługiwaną przez aparat bazy danych Microsoft Jet.

void SetValidationText(LPCTSTR lpszValidationText);

Parametry

lpszValidationText
Wskaźnik do wyrażenia ciągu, który określa tekst wyświetlany, jeśli wprowadzone dane są nieprawidłowe.

Uwagi

Nie można ustawić tekstu walidacji dołączonej tabeli.

Aby uzyskać powiązane informacje, zobacz temat "ValidationText Property" (Właściwość ValidationText) w pomocy dao.

Zobacz też

Klasa CObject
Wykres hierarchii
Klasa CDaoDatabase
Klasa CDaoRecordset