Udostępnij za pośrednictwem


Klasa CDaoDatabase

Reprezentuje połączenie z bazą danych programu Access przy użyciu obiektów dostępu do danych (DAO). 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 CDaoDatabase : public CObject

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CDaoDatabase::CDaoDatabase CDaoDatabase Tworzy obiekt. Wywołaj metodę Open , aby połączyć obiekt z bazą danych.

Metody publiczne

Nazwa/nazwisko opis
CDaoDatabase::CanTransact Zwraca wartość niezerowa, jeśli baza danych obsługuje transakcje.
CDaoDatabase::CanUpdate Zwraca wartość niezerową, jeśli CDaoDatabase obiekt jest aktualizowalny (nie tylko do odczytu).
CDaoDatabase::Close Zamyka połączenie z bazą danych.
CDaoDatabase::Create Tworzy podstawowy obiekt bazy danych DAO i inicjuje CDaoDatabase obiekt.
CDaoDatabase::CreateRelation Definiuje nową relację między tabelami w bazie danych.
CDaoDatabase::D eleteQueryDef Usuwa obiekt querydef zapisany w kolekcji QueryDefs bazy danych.
CDaoDatabase::D eleteRelation Usuwa istniejącą relację między tabelami w bazie danych.
CDaoDatabase::D eleteTableDef Usuwa definicję tabeli w bazie danych. Spowoduje to usunięcie rzeczywistej tabeli i wszystkich jej danych.
CDaoDatabase::Execute Wykonuje zapytanie akcji. Wywołanie Execute zapytania zwracającego wyniki zgłasza wyjątek.
CDaoDatabase::Get Połączenie Zwraca parametry połączenia używane do łączenia obiektu z CDaoDatabase bazą danych. Używany do ODBC.
CDaoDatabase::GetName Zwraca nazwę aktualnie używanej bazy danych.
CDaoDatabase::GetQueryDefCount Zwraca liczbę zapytań zdefiniowanych dla bazy danych.
CDaoDatabase::GetQueryDefInfo Zwraca informacje o określonym zapytaniu zdefiniowanym w bazie danych.
CDaoDatabase::GetQueryTimeout Zwraca liczbę sekund, po których upłynął limit czasu operacji zapytań bazy danych. Dotyczy wszystkich kolejnych otwartych, dodawania nowych, aktualizacji i edytowania operacji oraz innych operacji na źródłach danych ODBC (tylko) takich jak Execute wywołania.
CDaoDatabase::GetRecordsAffected Zwraca liczbę rekordów, których dotyczy ostatnia aktualizacja, edytowanie lub dodawanie operacji albo wywołanie metody Execute.
CDaoDatabase::GetRelationCount Zwraca liczbę relacji zdefiniowanych między tabelami w bazie danych.
CDaoDatabase::GetRelationInfo Zwraca informacje o określonej relacji zdefiniowanej między tabelami w bazie danych.
CDaoDatabase::GetTableDefCount Zwraca liczbę tabel zdefiniowanych w bazie danych.
CDaoDatabase::GetTableDefInfo Zwraca informacje o określonej tabeli w bazie danych.
CDaoDatabase::GetVersion Zwraca wersję aparatu bazy danych skojarzoną z bazą danych.
CDaoDatabase::IsOpen Zwraca wartość niezerową, jeśli CDaoDatabase obiekt jest obecnie połączony z bazą danych.
CDaoDatabase::Open Ustanawia połączenie z bazą danych.
CDaoDatabase::SetQueryTimeout Ustawia liczbę sekund, po których operacje zapytań bazy danych (tylko w źródłach danych ODBC) upłynął limit czasu. Wpływa na wszystkie kolejne operacje otwierania, dodawania nowych, aktualizacji i usuwania.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
CDaoDatabase::m_pDAODatabase Wskaźnik do bazowego obiektu bazy danych DAO.
CDaoDatabase::m_pWorkspace Wskaźnik do obiektu CDaoWorkspace , który zawiera bazę danych i definiuje jego przestrzeń transakcji.

Uwagi

Aby uzyskać informacje o obsługiwanych formatach bazy danych, zobacz funkcję składową GetName . W danym obszarze roboczym może być aktywny co najmniej jeden CDaoDatabase obiekt reprezentowany przez obiekt CDaoWorkspace . Obszar roboczy obsługuje kolekcję otwartych obiektów bazy danych nazywanych kolekcją Bazy danych.

Użycie

Obiekty bazy danych można tworzyć niejawnie podczas tworzenia obiektów zestawu rekordów. Można jednak również jawnie tworzyć obiekty bazy danych. Aby jawnie użyć istniejącej bazy danych z CDaoDatabaseprogramem , wykonaj jedną z następujących czynności:

  • Skonstruuj CDaoDatabase obiekt, przekazując wskaźnik do otwartego obiektu CDaoWorkspace .

  • Lub skonstruuj CDaoDatabase obiekt bez określania obszaru roboczego (MFC tworzy tymczasowy obiekt obszaru roboczego).

Aby utworzyć nowy pakiet Microsoft Jet (. Baza danych MDB, skonstruuj CDaoDatabase obiekt i wywołaj jego funkcję składową Create . Nie należy dzwonić po Create.Open

Aby otworzyć istniejącą bazę danych, skonstruuj CDaoDatabase obiekt i wywołaj jego funkcję open member.

Dowolne z tych technik dołącza obiekt bazy danych DAO do kolekcji Databases obszaru roboczego i otwiera połączenie z danymi. Po utworzeniu obiektów CDaoRecordset, CDaoTableDef lub CDaoQueryDef do obsługi połączonej bazy danych przekaż konstruktory dla tych obiektów wskaźnik do CDaoDatabase obiektu. Po zakończeniu korzystania z połączenia wywołaj funkcję Zamknij element członkowski i zniszczyć CDaoDatabase obiekt. Close zamyka wszystkie zestawy rekordów, które nie zostały wcześniej zamknięte.

Transakcje

Przetwarzanie transakcji bazy danych jest dostarczane na poziomie obszaru roboczego — zobacz funkcje składowe BeginTrans, CommitTrans i Rollback klasy CDaoWorkspace.

Połączenia ODBC

Zalecanym sposobem pracy ze źródłami danych ODBC jest dołączanie tabel zewnętrznych do aparatu Microsoft Jet (. Baza danych MDB.

Kolekcje

Każda baza danych przechowuje własne kolekcje obiektów tabledef, querydef, recordset i relation. Klasa CDaoDatabase dostarcza funkcje składowe do manipulowania tymi obiektami.

Uwaga

Obiekty są przechowywane w dao, a nie w obiekcie bazy danych MFC. MFC dostarcza klasy dla obiektów tabledef, querydef i recordset, ale nie dla obiektów relacyjnych.

Hierarchia dziedziczenia

Cobject

CDaoDatabase

Wymagania

Nagłówek: afxdao.h

CDaoDatabase::CanTransact

Wywołaj tę funkcję składową, aby określić, czy baza danych zezwala na transakcje.

BOOL CanTransact();

Wartość zwracana

Nonzero, jeśli baza danych obsługuje transakcje; w przeciwnym razie 0.

Uwagi

Transakcje są zarządzane w obszarze roboczym bazy danych.

CDaoDatabase::CanUpdate

Wywołaj tę funkcję składową, aby określić, czy CDaoDatabase obiekt zezwala na aktualizacje.

BOOL CanUpdate();

Wartość zwracana

Nonzero, jeśli CDaoDatabase obiekt zezwala na aktualizacje; w przeciwnym razie 0, wskazując, że przekazano wartość TRUE w bReadOnly po otwarciu CDaoDatabase obiektu lub że sama baza danych jest tylko do odczytu. Zobacz funkcję Otwórz element członkowski.

Uwagi

Aby uzyskać informacje na temat aktualizowalności bazy danych, zobacz temat "Updatable Property" (Updatable Property) w pomocy dao.

CDaoDatabase::CDaoDatabase

CDaoDatabase Tworzy obiekt.

CDaoDatabase(CDaoWorkspace* pWorkspace = NULL);

Parametry

pWorkspace
Wskaźnik do CDaoWorkspace obiektu, który będzie zawierać nowy obiekt bazy danych. Jeśli zaakceptujesz domyślną wartość NULL, konstruktor tworzy obiekt tymczasowy CDaoWorkspace , który używa domyślnego obszaru roboczego DAO. Wskaźnik do obiektu obszaru roboczego można uzyskać za pośrednictwem elementu członkowskiego danych m_pWorkspace .

Uwagi

Po utworzeniu obiektu, jeśli tworzysz nowy pakiet Microsoft Jet (. Baza danych MDB) wywołuje funkcję elementu członkowskiego Create obiektu. Jeśli zamiast tego otworzysz istniejącą bazę danych, wywołaj funkcję Open member obiektu.

Po zakończeniu pracy z obiektem należy wywołać jego funkcję zamknij składową, a następnie zniszczyć CDaoDatabase obiekt.

Wygodne może być osadzanie CDaoDatabase obiektu w klasie dokumentów.

Uwaga

Obiekt CDaoDatabase jest również tworzony niejawnie, jeśli otworzysz obiekt CDaoRecordset bez przekazywania wskaźnika do istniejącego CDaoDatabase obiektu. Ten obiekt bazy danych jest zamykany po zamknięciu obiektu zestawu rekordów.

CDaoDatabase::Close

Wywołaj tę funkcję składową, aby odłączyć się od bazy danych i zamknąć wszystkie otwarte zestawy rekordów, definicje tabel i definicje zapytań skojarzone z bazą danych.

virtual void Close();

Uwagi

Dobrym rozwiązaniem jest zamknięcie tych obiektów przed wywołaniem tej funkcji składowej. CDaoDatabase Zamknięcie obiektu spowoduje usunięcie go z kolekcji Databases w skojarzonym obszarze roboczym. Ponieważ Close obiekt nie zostanie zniszczony CDaoDatabase , można go ponownie użyć, otwierając tę samą bazę danych lub inną bazę danych.

Uwaga

Przed zamknięciem bazy danych wywołaj funkcję składową Update (jeśli istnieją oczekujące zmiany) i Close funkcję składową we wszystkich otwartych obiektach zestawu rekordów. Jeśli zamkniesz funkcję, która deklaruje obiekt lub CDaoDatabase CDaoRecordset na stosie, baza danych zostanie zamknięta, wszystkie niezapisane zmiany zostaną utracone, wszystkie oczekujące transakcje zostaną wycofane, a wszelkie oczekujące zmiany danych zostaną utracone.

Uwaga

Jeśli spróbujesz zamknąć obiekt bazy danych, gdy wszystkie obiekty zestawu rekordów są otwarte, lub jeśli spróbujesz zamknąć obiekt obszaru roboczego, gdy wszystkie obiekty bazy danych należące do tego określonego obszaru roboczego są otwarte, te obiekty zestawu rekordów zostaną zamknięte i wszystkie oczekujące aktualizacje lub zmiany zostaną wycofane. Jeśli spróbujesz zamknąć obiekt obszaru roboczego, gdy wszystkie obiekty bazy danych należące do niego są otwarte, operacja zamyka wszystkie obiekty bazy danych należące do tego określonego obiektu obszaru roboczego, co może spowodować zamknięcie nieujawnianych obiektów zestawu rekordów. Jeśli obiekt bazy danych nie jest zamykany, MFC zgłasza błąd asercji w kompilacjach debugowania.

Jeśli obiekt bazy danych jest zdefiniowany poza zakresem funkcji, a funkcja zostanie zamknięta bez jego zamknięcia, obiekt bazy danych pozostanie otwarty do momentu jawnego zamknięcia lub modułu, w którym jest zdefiniowany, jest poza zakresem.

CDaoDatabase::Create

Aby utworzyć nowy pakiet Microsoft Jet (. Baza danych MDB) wywołuje tę funkcję składową po utworzeniu CDaoDatabase obiektu.

virtual void Create(
    LPCTSTR lpszName,
    LPCTSTR lpszLocale = dbLangGeneral,
    int dwOptions = 0);

Parametry

Lpszname
Wyrażenie ciągu, które jest nazwą tworzonego pliku bazy danych. Może to być pełna ścieżka i nazwa pliku, na przykład "C:\\MYDB. MDB". Musisz podać nazwę. Jeśli nie podasz rozszerzenia nazwy pliku, . Baza danych MDB jest dołączana. Jeśli sieć obsługuje jednolitą konwencję nazewnictwa (UNC), możesz również określić ścieżkę sieciową, taką jak "\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB". Tylko Microsoft Jet (. Pliki bazy danych MDB) można utworzyć przy użyciu tej funkcji składowej. (Podwójne ukośniki odwrotne są wymagane w literałach ciągów, ponieważ "\" jest znakiem ucieczki języka C++).

lpszLocale
Wyrażenie ciągu używane do określania kolejności sortowania na potrzeby tworzenia bazy danych. Wartość domyślna to dbLangGeneral. Dopuszczalne wartości:

  • dbLangGeneral Angielski, niemiecki, francuski, portugalski, włoski i nowoczesny hiszpański

  • dbLangArabic Arabski

  • dbLangCyrillic Rosyjski

  • dbLangCzech Czeski

  • dbLangDutch Holenderski

  • dbLangGreek Grecki

  • dbLangHebrew Hebrajski

  • dbLangHungarian Węgierski

  • dbLangIcelandic Islandzki

  • dbLangNordic Języki nordyckie (tylko aparat bazy danych Microsoft Jet w wersji 1.0)

  • dbLangNorwdan Norweski i duński

  • dbLangPolish Polski

  • dbLangSpanish Tradycyjny hiszpański

  • dbLangSwedfin Szwedzki i fiński

  • dbLangTurkish Turecki

Dwoptions
Liczba całkowita wskazująca co najmniej jedną opcję. Dopuszczalne wartości:

  • dbEncrypt Utwórz zaszyfrowaną bazę danych.

  • dbVersion10 Utwórz bazę danych z bazą danych Microsoft Jet w wersji 1.0.

  • dbVersion11 Utwórz bazę danych z bazą danych Microsoft Jet w wersji 1.1.

  • dbVersion20 Utwórz bazę danych z bazą danych Microsoft Jet w wersji 2.0.

  • dbVersion30 Utwórz bazę danych z bazą danych Microsoft Jet w wersji 3.0.

Jeśli pominięto stałą szyfrowania, zostanie utworzona niezaszyfrowana baza danych. Można określić tylko jedną stałą wersji. Jeśli pominięto stałą wersję, zostanie utworzona baza danych korzystająca z bazy danych Microsoft Jet w wersji 3.0.

Uwaga

Jeśli baza danych nie jest zaszyfrowana, istnieje możliwość, nawet w przypadku zaimplementowania zabezpieczeń użytkownika/hasła, aby bezpośrednio odczytać plik dysku binarnego, który stanowi bazę danych.

Uwagi

Create Tworzy plik bazy danych i bazowy obiekt bazy danych DAO oraz inicjuje obiekt C++. Obiekt jest dołączany do kolekcji Bazy danych skojarzonego obszaru roboczego. Obiekt bazy danych jest w stanie otwartym; nie należy dzwonić Open* po Create.

Uwaga

Za pomocą Createprogramu można utworzyć tylko rozwiązanie Microsoft Jet (. Bazy danych MDB. Nie można tworzyć baz danych ISAM ani baz danych ODBC.

CDaoDatabase::CreateRelation

Wywołaj tę funkcję składową, aby ustanowić relację między co najmniej jednym polem w tabeli podstawowej w bazie danych i co najmniej jednym polem w tabeli obcej (inna tabela w bazie danych).

void CreateRelation(
    LPCTSTR lpszName,
    LPCTSTR lpszTable,
    LPCTSTR lpszForeignTable,
    long lAttributes,
    LPCTSTR lpszField,
    LPCTSTR lpszForeignField);

void CreateRelation(CDaoRelationInfo& relinfo);

Parametry

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

lpszTable
Nazwa tabeli podstawowej w relacji. Jeśli tabela nie istnieje, MFC zgłasza wyjątek typu CDaoException.

lpszForeignTable
Nazwa tabeli obcej w relacji. Jeśli tabela nie istnieje, MFC zgłasza wyjątek typu CDaoException.

lAttributes
Długa wartość zawierająca informacje o typie relacji. Możesz użyć tej wartości, aby wymusić między innymi integralność referencyjną. Możesz użyć operatora bitowego OR (|), aby połączyć dowolną z następujących wartości (o ile kombinacja ma sens):

  • dbRelationUnique Relacja to jeden do jednego.

  • dbRelationDontEnforce Relacja nie jest wymuszana (brak więzów integralności).

  • dbRelationInherited Relacja istnieje w niebieżnej bazie danych, która zawiera dwie dołączone tabele.

  • dbRelationUpdateCascadeAktualizacje kaskadowo (aby uzyskać więcej informacji na temat kaskad, zobacz Uwagi).

  • dbRelationDeleteCascade Usunięcia będą kaskadowe.

lpszField
Wskaźnik do ciągu zakończonego wartości null zawierającego nazwę pola w tabeli podstawowej (o nazwie lpszTable).

lpszForeignField
Wskaźnik do ciągu zakończonego wartością null zawierającego nazwę pola w tabeli obcej (o nazwie lpszForeignTable).

relinfo
Odwołanie do obiektu CDaoRelationInfo zawierającego informacje o relacji, którą chcesz utworzyć.

Uwagi

Relacja nie może obejmować zapytania ani dołączonej tabeli z zewnętrznej bazy danych.

Użyj pierwszej wersji funkcji, gdy relacja obejmuje jedno pole w każdej z dwóch tabel. Użyj drugiej wersji, gdy relacja obejmuje wiele pól. Maksymalna liczba pól w relacji wynosi 14.

Ta akcja powoduje utworzenie bazowego obiektu relacyjnego DAO, ale jest to szczegóły implementacji MFC, ponieważ hermetyzacja obiektów relacyjnych MFC jest zawarta w klasie CDaoDatabase. MFC nie dostarcza klasy dla relacji.

Jeśli ustawisz atrybuty obiektu relacji w celu aktywowania operacji kaskadowych, aparat bazy danych automatycznie aktualizuje lub usuwa rekordy w co najmniej jednej innej tabeli po wprowadzeniu zmian w powiązanych tabelach kluczy podstawowych.

Załóżmy na przykład, że ustanowić kaskadową relację usuwania między tabelą Customers i tabelą Orders. Po usunięciu rekordów z tabeli Customers rekordy w tabeli Orders (Zamówienia) powiązane z tym klientem również zostaną usunięte. Ponadto w przypadku ustanowienia kaskadowych relacji usuwania między tabelą Orders i innymi tabelami rekordy z tych tabel są automatycznie usuwane po usunięciu rekordów z tabeli Customers.

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

CDaoDatabase::D eleteQueryDef

Wywołaj tę funkcję składową, aby usunąć określoną definicję zapytania — zapisaną kwerendę — z CDaoDatabase kolekcji QueryDefs obiektu.

void DeleteQueryDef(LPCTSTR lpszName);

Parametry

Lpszname
Nazwa zapisanego zapytania do usunięcia.

Uwagi

Następnie to zapytanie nie jest już zdefiniowane w bazie danych.

Aby uzyskać informacje na temat tworzenia obiektów querydef, zobacz klasa CDaoQueryDef. Obiekt querydef staje się skojarzony z określonym CDaoDatabase obiektem podczas konstruowania CDaoQueryDef obiektu, przekazując go wskaźnik do obiektu bazy danych.

CDaoDatabase::D eleteRelation

Wywołaj tę funkcję składową, aby usunąć istniejącą relację z kolekcji Relacje obiektu bazy danych.

void DeleteRelation(LPCTSTR lpszName);

Parametry

Lpszname
Nazwa relacji do usunięcia.

Uwagi

Następnie relacja już nie istnieje.

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

CDaoDatabase::D eleteTableDef

Wywołaj tę funkcję składową, aby usunąć określoną tabelę i wszystkie jej dane z CDaoDatabase kolekcji TableDefs obiektu.

void DeleteTableDef(LPCTSTR lpszName);

Parametry

Lpszname
Nazwa tabelidef do usunięcia.

Uwagi

Następnie ta tabela nie jest już zdefiniowana w bazie danych.

Uwaga

Należy zachować ostrożność, aby nie usuwać tabel systemowych.

Aby uzyskać informacje na temat tworzenia obiektów tabledef, zobacz klasa CDaoTableDef. Obiekt tabledef staje się skojarzony z określonym CDaoDatabase obiektem podczas konstruowania CDaoTableDef obiektu, przekazując go wskaźnik do obiektu bazy danych.

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

CDaoDatabase::Execute

Wywołaj tę funkcję składową, aby uruchomić zapytanie akcji lub wykonać instrukcję SQL w bazie danych.

void Execute(
    LPCTSTR lpszSQL,
    int nOptions = dbFailOnError);

Parametry

Lpszsql
Wskaźnik do ciągu zakończonego wartości null zawierającego prawidłowe polecenie SQL do wykonania.

nOpcje
Liczba całkowita określająca opcje dotyczące integralności zapytania. Możesz użyć operatora bitowego OR (|), aby połączyć dowolną z następujących stałych (pod warunkiem, że kombinacja ma sens — na przykład nie można połączyć dbInconsistent z dbConsistent):

  • dbDenyWrite Odmów uprawnień do zapisu innym użytkownikom.

  • dbInconsistent (Ustawienie domyślne) Niespójne aktualizacje.

  • dbConsistent Spójne aktualizacje.

  • dbSQLPassThrough Przekazywanie sql. Powoduje przekazanie instrukcji SQL do źródła danych ODBC na potrzeby przetwarzania.

  • dbFailOnError Wycofaj aktualizacje, jeśli wystąpi błąd.

  • dbSeeChanges Wygeneruj błąd czasu wykonywania, jeśli inny użytkownik zmienia edytowane dane.

Uwaga

Jeśli oba dbInconsistent elementy i dbConsistent są dołączone lub jeśli żadna z nich nie jest dołączona, wynik jest domyślny. Aby uzyskać wyjaśnienie tych stałych, zobacz temat "Execute Method" (Metoda wykonywania) w pomocy dao.

Uwagi

Execute Działa tylko w przypadku zapytań akcji lub zapytań przekazywania SQL, które nie zwracają wyników. Nie działa w przypadku wybranych zapytań, które zwracają rekordy.

Aby uzyskać definicję i informacje o zapytaniach dotyczących akcji, zobacz tematy "Zapytanie akcji" i "Execute Method" w Pomocy dao.

Napiwek

Biorąc pod uwagę poprawną składniowo instrukcję SQL i odpowiednie uprawnienia, funkcja składowa nie zakończy się niepowodzeniem, Execute nawet jeśli nie można zmodyfikować ani usunąć pojedynczego wiersza. W związku z tym należy zawsze używać dbFailOnError opcji podczas używania funkcji składowej Execute do uruchamiania kwerendy aktualizacji lub usuwania. Ta opcja powoduje, że MFC zgłosi wyjątek typu CDaoException i wycofa wszystkie pomyślne zmiany, jeśli którykolwiek z rekordów, których dotyczy problem, jest zablokowany i nie można go zaktualizować ani usunąć. Należy pamiętać, że zawsze można wywołać metodę GetRecordsAffected , aby zobaczyć liczbę rekordów, których dotyczy problem.

Wywołaj funkcję składową GetRecordsAffected obiektu bazy danych, aby określić liczbę rekordów, na które ma wpływ ostatnie Execute wywołanie. Na przykład GetRecordsAffected zwraca informacje o liczbie rekordów usuniętych, zaktualizowanych lub wstawionych podczas wykonywania zapytania akcji. Zwrócona liczba nie będzie odzwierciedlać zmian w powiązanych tabelach, gdy obowiązują kaskadowe aktualizacje lub usunięcia.

Execute nie zwraca zestawu rekordów. Użycie Execute w zapytaniu, które wybiera rekordy powoduje, że MFC zgłasza wyjątek typu CDaoException. (Nie ma ExecuteSQL funkcji składowej analogicznej do CDatabase::ExecuteSQL.)

CDaoDatabase::Get Połączenie

Wywołaj tę funkcję składową, aby pobrać parametry połączenia używane do łączenia obiektu z CDaoDatabase bazą danych ODBC lub ISAM.

CString GetConnect();

Wartość zwracana

Parametry połączenia, jeśli funkcja Otwórz została pomyślnie wywołana w źródle danych ODBC; w przeciwnym razie pusty ciąg. W przypadku rozwiązania Microsoft Jet (. Baza danych MDB, ciąg jest zawsze pusty, chyba że został ustawiony do użycia z dbSQLPassThrough opcją używaną z funkcją Execute elementu członkowskiego lub używanym podczas otwierania zestawu rekordów.

Uwagi

Ciąg zawiera informacje o źródle otwartej bazy danych lub bazy danych używanej w zapytaniu przekazywanym. Parametry połączenia składa się z specyfikatora typu bazy danych i zero lub więcej parametrów oddzielonych średnikami.

Uwaga

Używanie klas MFC DAO do nawiązywania połączenia ze źródłem danych za pośrednictwem ODBC jest mniej wydajne niż nawiązywanie połączenia za pośrednictwem dołączonej tabeli.

Uwaga

Parametry połączenia służy do przekazywania dodatkowych informacji do ODBC i niektórych sterowników ISAM zgodnie z potrzebami. Nie jest on używany dla elementu . Bazy danych MDB. W przypadku tabel bazowych bazy danych microsoft Jet parametry połączenia jest pustym ciągiem (""), z wyjątkiem sytuacji, gdy używasz jej dla zapytania przekazywanego SQL zgodnie z opisem w sekcji Wartość zwracana powyżej.

Aby uzyskać opis sposobu tworzenia parametry połączenia, zobacz funkcję Open member. Po ustawieniu parametry połączenia w wywołaniu Open możesz później użyć go do sprawdzenia ustawienia w celu określenia typu, ścieżki, identyfikatora użytkownika, hasła lub źródła danych ODBC bazy danych.

CDaoDatabase::GetName

Wywołaj tę funkcję składową, aby pobrać nazwę aktualnie otwartej bazy danych, czyli nazwę istniejącego pliku bazy danych lub nazwę zarejestrowanego źródła danych ODBC.

CString GetName();

Wartość zwracana

Pełna ścieżka i nazwa pliku bazy danych, jeśli się powiedzie; w przeciwnym razie pusty ciąg CString.

Uwagi

Jeśli sieć obsługuje jednolitą konwencję nazewnictwa (UNC), możesz również określić ścieżkę sieciową — na przykład "\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. MDB". (Podwójne ukośniki odwrotne są wymagane w literałach ciągów, ponieważ "\" jest znakiem ucieczki języka C++).

Możesz na przykład wyświetlić tę nazwę w nagłówku. Jeśli podczas pobierania nazwy wystąpi błąd, MFC zgłasza wyjątek typu CDaoException.

Uwaga

Aby uzyskać lepszą wydajność w przypadku uzyskiwania dostępu do zewnętrznych baz danych, zalecamy dołączenie zewnętrznych tabel baz danych do bazy danych Microsoft Jet (. MDB) zamiast łączyć się bezpośrednio ze źródłem danych.

Typ bazy danych jest wskazywany przez plik lub katalog wskazujący ścieżkę w następujący sposób:

Nazwa ścieżki wskazuje wartość .. Typ bazy danych
. Plik MDB Baza danych Microsoft Jet (Microsoft Access)
Katalog zawierający . Pliki DBF Baza danych dBASE
Katalog zawierający plik .XLS Baza danych programu Microsoft Excel
Katalog zawierający . Pliki PDX Baza danych Programu Paradox
Katalog zawierający odpowiednio sformatowane pliki bazy danych tekstowych Baza danych formatu tekstu

W przypadku baz danych ODBC, takich jak SQL Server i Oracle, parametry połączenia bazy danych identyfikuje nazwę źródła danych (DSN) zarejestrowaną przez ODBC.

CDaoDatabase::GetQueryDefCount

Wywołaj tę funkcję składową, aby pobrać liczbę zapytań zdefiniowanych w kolekcji QueryDefs bazy danych.

short GetQueryDefCount();

Wartość zwracana

Liczba zapytań zdefiniowanych w bazie danych.

Uwagi

GetQueryDefCount jest przydatna, jeśli musisz przeprowadzić pętlę przez wszystkie definicje zapytań w kolekcji QueryDefs. Aby uzyskać informacje o danym zapytaniu w kolekcji, zobacz GetQueryDefInfo.

CDaoDatabase::GetQueryDefInfo

Wywołaj tę funkcję składową, aby uzyskać różne rodzaje informacji o zapytaniu zdefiniowanym w bazie danych.

void GetQueryDefInfo(
    int nIndex,
    CDaoQueryDefInfo& querydefinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetQueryDefInfo(
    LPCTSTR lpszName,
    CDaoQueryDefInfo& querydefinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametry

Nindex
Indeks wstępnie zdefiniowanego zapytania w kolekcji QueryDefs bazy danych dla wyszukiwania według indeksu.

querydefinfo
Odwołanie do obiektu CDaoQueryDefInfo zwracającego żądane informacje.

dwInfoOptions
Opcje określające, które informacje o zestawie rekordów mają być pobierane. Dostępne opcje są wymienione tutaj wraz z tym, co powodują, że funkcja zwraca informacje o zestawie rekordów:

  • AFX_DAO_PRIMARY_INFO (domyślna) nazwa, typ

  • AFX_DAO_SECONDARY_INFO podstawowe informacje oraz: Data utworzenia, data ostatniej aktualizacji, zwraca rekordy, możliwe do zaktualizowania

  • AFX_DAO_ALL_INFO podstawowe i pomocnicze informacje oraz: SQL, Połączenie, ODBCTimeout

Lpszname
Ciąg zawierający nazwę zapytania zdefiniowanego w bazie danych dla wyszukiwania według nazwy.

Uwagi

Podano dwie wersje funkcji, aby można było wybrać zapytanie według indeksu w kolekcji QueryDefs bazy danych lub według nazwy zapytania.

Aby uzyskać opis informacji zwracanych w zapytaniudefinfo, zobacz strukturę CDaoQueryDefInfo . Ta struktura zawiera elementy członkowskie, które odpowiadają elementom informacji wymienionych powyżej w opisie dwInfoOptions. Jeśli zażądasz jednego poziomu informacji, uzyskasz również wszelkie wcześniejsze poziomy informacji.

CDaoDatabase::GetQueryTimeout

Wywołaj tę funkcję składową, aby pobrać bieżącą liczbę sekund, które mają być dozwolone przed przekroczeniem limitu czasu kolejnych operacji w połączonej bazie danych.

short GetQueryTimeout();

Wartość zwracana

Krótka liczba całkowita zawierająca wartość limitu czasu w sekundach.

Uwagi

Operacja może upłynął limit czasu z powodu problemów z dostępem do sieci, nadmiernego czasu przetwarzania zapytań itd. Ustawienie ma wpływ na wszystkie otwarte, dodaj nowe, aktualizujące i usuwające operacje na wszystkich zestawach rekordów skojarzonych z tym CDaoDatabase obiektem. Bieżące ustawienie limitu czasu można zmienić, wywołując funkcję SetQueryTimeout. Zmiana wartości limitu czasu zapytania dla zestawu rekordów po otwarciu nie zmienia wartości zestawu rekordów. Na przykład kolejne operacje przenoszenia nie używają nowej wartości. Wartość domyślna jest początkowo ustawiana podczas inicjowania aparatu bazy danych.

Wartość domyślna limitu czasu zapytania jest pobierana z rejestru systemu Windows. Jeśli nie ma ustawienia rejestru, wartość domyślna to 60 sekund. Nie wszystkie bazy danych obsługują możliwość ustawiania wartości limitu czasu zapytania. Jeśli ustawisz wartość limitu czasu zapytania 0, nie wystąpi limit czasu; i komunikacja z bazą danych może przestać odpowiadać. To zachowanie może być przydatne podczas programowania. Jeśli wywołanie nie powiedzie się, MFC zgłasza wyjątek typu CDaoException.

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

CDaoDatabase::GetRecordsAffected

Wywołaj tę funkcję składową, aby określić liczbę rekordów, których dotyczy najnowsze wywołanie funkcji elementu członkowskiego Execute .

long GetRecordsAffected();

Wartość zwracana

Długa liczba całkowita zawierająca liczbę rekordów, których dotyczy problem.

Uwagi

Zwrócona wartość zawiera liczbę rekordów usuniętych, zaktualizowanych lub wstawionych przez uruchomienie zapytania akcji za pomocą polecenia Execute. Zwrócona liczba nie będzie odzwierciedlać zmian w powiązanych tabelach, gdy obowiązują kaskadowe aktualizacje lub usunięcia.

Aby uzyskać powiązane informacje, zobacz temat "RecordsAffected Property" (Właściwość, której dotyczy problem) w pomocy dao.

CDaoDatabase::GetRelationCount

Wywołaj tę funkcję składową, aby uzyskać liczbę relacji zdefiniowanych między tabelami w bazie danych.

short GetRelationCount();

Wartość zwracana

Liczba relacji zdefiniowanych między tabelami w bazie danych.

Uwagi

GetRelationCount jest przydatna, jeśli musisz przeprowadzić pętlę przez wszystkie zdefiniowane relacje w kolekcji Relacje bazy danych. Aby uzyskać informacje o danej relacji w kolekcji, zobacz GetRelationInfo.

Aby zilustrować koncepcję relacji, rozważ tabelę Dostawcy i tabelę Products, która może mieć relację jeden do wielu. W związku z tym jeden dostawca może dostarczyć więcej niż jeden produkt. Inne stosunki to jeden do jednego i wiele do wielu.

CDaoDatabase::GetRelationInfo

Wywołaj tę funkcję składową, aby uzyskać informacje o określonej relacji w kolekcji Relacje bazy danych.

void GetRelationInfo(
    int nIndex,
    CDaoRelationInfo& relinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetRelationInfo(
    LPCTSTR lpszName,
    CDaoRelationInfo& relinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametry

Nindex
Indeks obiektu relacji w kolekcji Relacje bazy danych dla wyszukiwania według indeksu.

relinfo
Odwołanie do obiektu CDaoRelationInfo zwracającego żądane informacje.

dwInfoOptions
Opcje określające, które informacje o relacji mają być pobierane. Dostępne opcje są wymienione tutaj wraz z tym, co powodują, że funkcja zwróci relację:

  • AFX_DAO_PRIMARY_INFO (domyślna) nazwa, tabela, tabela obca

  • atrybuty AFX_DAO_SECONDARY_INFO, informacje o polu

Informacje o polu to obiekt CDaoRelationFieldInfo zawierający pola z tabeli podstawowej zaangażowanej w relację.

Lpszname
Ciąg zawierający nazwę obiektu relacji dla wyszukiwania według nazwy.

Uwagi

Dwie wersje tej funkcji zapewniają dostęp według indeksu lub nazwy. Aby uzyskać opis informacji zwróconych w relinfo, zobacz strukturę CDaoRelationInfo . Ta struktura zawiera elementy członkowskie, które odpowiadają elementom informacji wymienionych powyżej w opisie dwInfoOptions. Jeśli zażądasz informacji na jednym poziomie, uzyskasz również informacje na wszystkich poprzednich poziomach.

Uwaga

Jeśli ustawisz atrybuty obiektu relacji, aby aktywować operacje kaskadowe (dbRelationUpdateCascades lub dbRelationDeleteCascades), aparat bazy danych Microsoft Jet automatycznie aktualizuje lub usuwa rekordy w co najmniej jednej innej tabeli po wprowadzeniu zmian w powiązanych tabelach kluczy podstawowych. Załóżmy na przykład, że ustanowić kaskadową relację usuwania między tabelą Customers i tabelą Orders. Po usunięciu rekordów z tabeli Customers rekordy w tabeli Orders (Zamówienia) powiązane z tym klientem również zostaną usunięte. Ponadto w przypadku ustanowienia kaskadowych relacji usuwania między tabelą Orders i innymi tabelami rekordy z tych tabel są automatycznie usuwane po usunięciu rekordów z tabeli Customers.

CDaoDatabase::GetTableDefCount

Wywołaj tę funkcję składową, aby pobrać liczbę tabel zdefiniowanych w bazie danych.

short GetTableDefCount();

Wartość zwracana

Liczba definicji tabel zdefiniowanych w bazie danych.

Uwagi

GetTableDefCount jest przydatne, jeśli musisz przeprowadzić pętlę przez wszystkie definicje tabel w kolekcji TableDefs bazy danych. Aby uzyskać informacje o danej tabeli w kolekcji, zobacz GetTableDefInfo.

CDaoDatabase::GetTableDefInfo

Wywołaj tę funkcję składową, aby uzyskać różne rodzaje informacji o tabeli zdefiniowanej w bazie danych.

void GetTableDefInfo(
    int nIndex,
    CDaoTableDefInfo& tabledefinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetTableDefInfo(
    LPCTSTR lpszName,
    CDaoTableDefInfo& tabledefinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametry

Nindex
Indeks obiektu tabledef w kolekcji TableDefs bazy danych dla wyszukiwania według indeksu.

tabledefinfo
Odwołanie do obiektu CDaoTableDefInfo zwracającego żądane informacje.

dwInfoOptions
Opcje określające, które informacje o tabeli mają być pobierane. Dostępne opcje są wymienione tutaj wraz z tym, co powodują, że funkcja zwróci relację:

  • AFX_DAO_PRIMARY_INFO (domyślna) nazwa, możliwe do zaktualizowania, atrybuty

  • AFX_DAO_SECONDARY_INFO podstawowe informacje oraz: Data utworzenia, Data ostatniej aktualizacji, Nazwa tabeli źródłowej, Połączenie

  • AFX_DAO_ALL_INFO podstawowe i pomocnicze informacje oraz: Reguła walidacji, Tekst weryfikacji, Liczba rekordów

Lpszname
Nazwa obiektu tabledef dla wyszukiwania według nazwy.

Uwagi

Podano dwie wersje funkcji, aby można było wybrać tabelę według indeksu w kolekcji TableDefs bazy danych lub według nazwy tabeli.

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

Uwaga

Opcja AFX_DAO_ALL_INFO zawiera informacje, które mogą być powolne do uzyskania. W takim przypadku zliczanie rekordów w tabeli może być bardzo czasochłonne, jeśli istnieje wiele rekordów.

CDaoDatabase::GetVersion

Wywołaj tę funkcję składową, aby określić wersję pliku bazy danych Microsoft Jet.

CString GetVersion();

Wartość zwracana

CString wskazujący wersję pliku bazy danych skojarzonego z obiektem.

Uwagi

Zwrócona wartość reprezentuje numer wersji w postaci "główna.pomocnicza"; na przykład "3.0". Numer wersji produktu (na przykład 3.0) składa się z numeru wersji (3), okresu i numeru wydania (0). Wersje do tej pory to 1.0, 1.1, 2.0 i 3.0.

Aby uzyskać powiązane informacje, zobacz temat "Właściwość wersji" w Pomocy dao.

CDaoDatabase::IsOpen

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

BOOL IsOpen() const;

Wartość zwracana

Niezero, jeśli CDaoDatabase obiekt jest obecnie otwarty; w przeciwnym razie 0.

Uwagi

CDaoDatabase::m_pDAODatabase

Zawiera wskaźnik do interfejsu OLE dla obiektu bazy danych DAO bazowego CDaoDatabase obiektu.

Uwagi

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

Aby uzyskać informacje dotyczące bezpośredniego wywoływania obiektu DAO, zobacz Technical Note 54 (Uwaga techniczna 54).

CDaoDatabase::m_pWorkspace

Zawiera wskaźnik do obiektu CDaoWorkspace zawierającego obiekt bazy danych.

Uwagi

Użyj tego wskaźnika, jeśli chcesz uzyskać bezpośredni dostęp do obszaru roboczego — na przykład w celu uzyskania wskaźników do innych obiektów bazy danych w kolekcji Bazy danych obszaru roboczego.

CDaoDatabase::Open

Należy wywołać tę funkcję składową, aby zainicjować nowo skonstruowany CDaoDatabase obiekt reprezentujący istniejącą bazę danych.

virtual void Open(
    LPCTSTR lpszName,
    BOOL bExclusive = FALSE,
    BOOL bReadOnly = FALSE,
    LPCTSTR lpszConnect = _T(""));

Parametry

Lpszname
Wyrażenie ciągu, które jest nazwą istniejącego środowiska Microsoft Jet (. Plik bazy danych MDB. Jeśli nazwa pliku ma rozszerzenie, jest wymagane. Jeśli sieć obsługuje jednolitą konwencję nazewnictwa (UNC), możesz również określić ścieżkę sieciową, taką jak "\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. MDB". (Podwójne ukośniki odwrotne są wymagane w literałach ciągów, ponieważ "\" jest znakiem ucieczki języka C++).

Niektóre zagadnienia mają zastosowanie podczas korzystania z lpszName. Jeśli:

  • Odwołuje się do bazy danych, która jest już otwarta w celu uzyskania wyłącznego dostępu przez innego użytkownika, MFC zgłasza wyjątek typu CDaoException. Pułapka tego wyjątku, aby poinformować użytkownika, że baza danych jest niedostępna.

  • Jest pustym ciągiem ("") i lpsz Połączenie jest "ODBC;", zostanie wyświetlone okno dialogowe z listą wszystkich zarejestrowanych nazw źródeł danych ODBC, aby użytkownik mógł wybrać bazę danych. Należy unikać bezpośrednich połączeń ze źródłami danych ODBC; zamiast tego należy użyć dołączonej tabeli.

  • W przeciwnym razie nie odwołuje się do istniejącej bazy danych ani prawidłowej nazwy źródła danych ODBC, MFC zgłasza wyjątek typu CDaoException.

Uwaga

Aby uzyskać szczegółowe informacje na temat kodów błędów DAOO, zobacz DAOERR. Plik H. Aby uzyskać powiązane informacje, zobacz temat "Trappable Data Access Errors" (Błędy dostępu do danych uwięzionych) w pomocy dao.

bExclusive
Wartość logiczna, która ma mieć wartość TRUE, jeśli baza danych ma zostać otwarta w celu uzyskania wyłącznego dostępu (nieudostępnego) i FALSE, jeśli baza danych ma zostać otwarta na potrzeby dostępu współdzielonego. Jeśli pominiesz ten argument, baza danych zostanie otwarta na potrzeby dostępu współdzielonego.

bReadOnly
Wartość logiczna, która ma mieć wartość TRUE, jeśli baza danych ma zostać otwarta na potrzeby dostępu tylko do odczytu i wartość FALSE, jeśli baza danych ma zostać otwarta na potrzeby dostępu do odczytu/zapisu. Jeśli pominiesz ten argument, baza danych zostanie otwarta na potrzeby dostępu do odczytu/zapisu. Wszystkie zależne zestawy rekordów dziedziczą ten atrybut.

lpsz Połączenie
Wyrażenie ciągu używane do otwierania bazy danych. Ten ciąg stanowi argumenty połączenia ODBC. Aby podać ciąg źródłowy, należy podać wyłącznie i tylko do odczytu argumenty. Jeśli baza danych jest bazą danych Microsoft Jet (. MDB), ten ciąg jest pusty (""). Składnia wartości domyślnej — _T("") — zapewnia przenośność dla formatu Unicode, a także kompilacje ANSI aplikacji.

Uwagi

Open kojarzy bazę danych z bazowym obiektem DAO. Nie można użyć obiektu bazy danych do konstruowania obiektów recordset, tabledef lub querydef, dopóki nie zostanie zainicjowany. Open Dołącza obiekt bazy danych do kolekcji Databases skojarzonego obszaru roboczego.

Użyj parametrów w następujący sposób:

  • Jeśli otwierasz pakiet Microsoft Jet (. Baza danych MDB, użyj parametru lpszName i przekaż pusty ciąg dla parametru lpsz Połączenie lub przekaż ciąg hasła formularza "; PWD=password", jeśli baza danych jest chroniona hasłem (. Tylko bazy danych MDB).

  • Jeśli otwierasz źródło danych ODBC, przekaż prawidłową parametry połączenia ODBC w pliku lpsz Połączenie i pusty ciąg w lpszName.

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

Uwaga

Aby uzyskać lepszą wydajność podczas uzyskiwania dostępu do zewnętrznych baz danych, w tym baz danych ISAM i źródeł danych ODBC, zaleca się dołączenie zewnętrznych tabel baz danych do bazy danych aparatu Microsoft Jet (. MDB) zamiast łączyć się bezpośrednio ze źródłem danych.

Istnieje możliwość przekroczenia limitu czasu połączenia, jeśli na przykład host DBMS jest niedostępny. Jeśli próba połączenia nie powiedzie się, Open zgłasza wyjątek typu CDaoException.

Pozostałe uwagi dotyczą tylko baz danych ODBC:

Jeśli baza danych jest bazą danych ODBC, a parametry w wywołaniu Open nie zawierają wystarczającej ilości informacji, aby nawiązać połączenie, sterownik ODBC otwiera okno dialogowe w celu uzyskania niezbędnych informacji od użytkownika. Podczas wywoływania Openmetody parametry połączenia, lpsz Połączenie, jest przechowywany prywatnie i jest dostępny przez wywołanie funkcji elementu członkowskiego Get Połączenie.

Jeśli chcesz, możesz otworzyć własne okno dialogowe przed wywołaniemOpen, aby uzyskać informacje od użytkownika, takie jak hasło, a następnie dodać te informacje do parametry połączenia przekazać do Open. Możesz też zapisać parametry połączenia przekazać (być może w rejestrze systemu Windows), aby można było ponownie użyć go przy następnym wywołaniu Open aplikacji na CDaoDatabase obiekcie.

Można również użyć parametry połączenia dla wielu poziomów autoryzacji logowania (każdy dla innego CDaoDatabase obiektu) lub przekazać inne informacje specyficzne dla bazy danych.

CDaoDatabase::SetQueryTimeout

Wywołaj tę funkcję składową, aby zastąpić domyślną liczbę sekund, która ma być dozwolona przed upływem limitu czasu kolejnych operacji w połączonej bazie danych.

void SetQueryTimeout(short nSeconds);

Parametry

nSeconds
Liczba sekund, na które należy zezwolić przed upływem limitu czasu próby zapytania.

Uwagi

Operacja może upłynął limit czasu z powodu problemów z dostępem do sieci, nadmiernego czasu przetwarzania zapytań itd. Przed SetQueryTimeout otwarciem zestawu rekordów lub przed wywołaniem funkcji AddNew, Update lub Delete zestawu rekordów należy wywołać, jeśli chcesz zmienić wartość limitu czasu zapytania. To ustawienie ma wpływ na wszystkie kolejne wywołania open, AddNew, Updatei Delete do wszystkich zestawów rekordów skojarzonych z tym CDaoDatabase obiektem. Zmiana wartości limitu czasu zapytania dla zestawu rekordów po otwarciu nie zmienia wartości zestawu rekordów. Na przykład kolejne operacje przenoszenia nie używają nowej wartości.

Wartość domyślna limitów czasu zapytania to 60 sekund. Nie wszystkie bazy danych obsługują możliwość ustawiania wartości limitu czasu zapytania. Jeśli ustawisz wartość limitu czasu zapytania 0, nie wystąpi limit czasu; komunikacja z bazą danych może przestać odpowiadać. To zachowanie może być przydatne podczas programowania.

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

Zobacz też

Klasa CObject
Wykres hierarchii
Klasa CDaoWorkspace
Klasa CDaoRecordset
Klasa CDaoTableDef
Klasa CDaoQueryDef
Klasa CDatabase
Klasa CDaoException