img/mfc2.jpg

CDatabase


Opis

Obiekt klasy CDatabase reprezentuje połączenie z zewnętrznym źródłem danych, poprzez które użytkownik korzysta z danych. Źródło danych jest dowolnym źródłem zarządzanym przez swój własny mechanizm zarządzania. Przykładowo możliwe jest połączenie z bazą w formacie SQL Server, MS Access, Borland dBase i innych. Dodatkowo można utworzyć wiele obiektów CDatabase i korzystać z nich w programie. Jest to prosty sposób na jednoczesną obsługę danych pochodzących z różnych źródeł.

Uwaga:
Jeśli planujemy jako mechanizm dostępu do danych wykorzystać technikę DAO (Data Access Objects) powinniśmy korzystać ze specjalnie do tego celu zdefiniowanej klasy CDaoDatabase.
Klasa CDatabase przeznaczona jest do obsługi źródeł danych opartych o mechanizm ODBC (Open Database Connectivity).

Aby użyć obiektu CDatabase należy po wywołaniu konstruktora użyć metody OpenEx(). Powoduje to nawiązanie połączenia. Następnie konieczne jest utworzenie obiektu klasy CRecordset (najczęściej klasy dziedziczącej), za pomocą którego faktycznie operujemy na zbiorze rekordów z bazy. Jako parametr wywołania konstruktora podajemy wskaźnik do utworzonego właśnie obiektu CDatabase. Po zakończeniu korzystania z danych należy wykonać metodę Close(), która zamknie połączenie. Metoda ta zamyka także wszystkie obiekty CRecordset nie zamknięte wcześniej.

Atrybuty

Atrybuty Opis
m_hdbcPrzechowuje uchwyt (ang. handle) do struktury źródła danych (typu HDBC).

Metody

Konstruowanie

Metody Opis
CDatabaseTworzy obiekt typu CDatabase.
OpenUstanawia połączenie ze źródłem danych.
OpenExUstanawia połączenie ze źródłem danych.
CloseZamyka połączenie ze źródłem danych.

Atrybuty bazy danych

Metody Opis
GetConnectZwraca tzw. łańcuch znakowy połączenia ODBC (ang. connection string) zawierający parametry połączenia ze źródłem danych.
IsOpenSprawdza czy obiekt jest aktualnie powiązany ze źródłem danych.
GetDatabaseNameZwraca nazwę bazy danych (jest to atrybut pamiętany w większości standardowych baz danych).
CanUpdateSprawdza czy baza dopuszcza modyfikacje.
CanTransactSprawdza czy baza obsługuje transakcje.
SetLoginTimeoutUstawia ilość sekund po upływie których próba połączenia z bazą zostanie zaniechana.
SetQueryTimeoutUstawia ilość sekund po upływie których próba dostępu do bazy danych za pomocą poleceń Open(), AddNew(), Edit() lub Delete() zostanie zaniechana.
GetBookmarkPresistenceSprawdza czy zakładki (ang. bookmark) pobrane wcześniej są jeszcze aktualne. Unieważnienie zakładek następuje np. po wydaniu polecenia Requery().
GetCursorCommitBehaviourZwraca zachowanie kursora bazy danych po zamknięciu transakcji.
GetCursorRollbackBehaviourZwraca zachowanie kursora bazy danych po unieważnieniu transakcji.

Operacje na bazie danych

Metody Opis
BeginTransRozpoczyna transakcję (ang. transact), czyli ciąg operacji które mogą być w dowolnym momencie unieważnione lub zatwierdzone.
BindParametersUmożliwia dynamiczne połączenie parametrów przed wywołaniem metody ExecuteSQL().
CommitTransZatwierdza transakcję.
RollbackUnieważnia transakcję.
CancelAnuluje asynchroniczną operację lub proces z innego wątku.
ExecuteSQLWykonuje polecenie języka SQL.

Metody do pokrycia w klasach potomnych

Metody Opis
OnSetOptionsWywoływana przez środowisko w celu ustalenia domyślnych parametrów połączenia.


Zobacz także

CRecordset, CRecordView

Hierarchia

img/hr_cdatabase.gif