Udostępnij za pośrednictwem


MFC: Korzystanie z klas bazy danych bez dokumentów i widoków

Czasami nie warto użyć RAM/widok dokumentu architektury w aplikacjach baz danych.W tym temacie wyjaśniono:

  • Gdy nie trzeba używać dokumentów , takich jak dokument serializacji.

  • Opcje kreatora aplikacji do obsługi aplikacji bez serializacji i dokumentów związanych z pliku poleceń menu, takich jak Nowy, otwarte, zapisać, i Zapisz jako.

  • Jak pracować z aplikacji korzystającej z minimalnym dokument.

  • Struktury aplikacji bez dokumentu lub widoku.

Gdy nie ma potrzeby dokumenty

Niektóre aplikacje mają różne pojęcia dokumentu.Te aplikacje zwykle załadować wszystkie lub większość plików z magazynu do pamięci z Otwórz plik polecenia.Oni zapisywać zaktualizowanego pliku do przechowywania wszystkich naraz z Zapisać plik lub Zapisać jako polecenia.Jaki użytkownik widzi jest plikiem danych.

Niektóre kategorie aplikacji, jednak nie wymagają dokumentu.Baza danych aplikacji działają w zakresie transakcji.Aplikacja wybiera rekordy z bazy danych i przedstawia je użytkownikowi, często pojedynczo.Jaki użytkownik widzi jest zazwyczaj jeden rekord bieżący może być tylko jeden w pamięci.

Jeśli aplikacja wymaga dokumentu do przechowywania danych, można odstąpić od niektórych lub wszystkich ram/widok dokumentu architektury.Ile odstąpić od zależy od podejścia, preferowany.Może być:

  • Użyć minimalne dokumentu jako miejsce przechowywania połączenie źródła danych, ale odstąpić od normalnego funkcje, takie jak serializacji.Jest to przydatne, gdy kilka widoków danych i chcesz zsynchronizować wszystkie widoki aktualizowania ich wszystkich naraz i tak dalej.

  • Użyj ramki okna, w którym rysujesz bezpośrednio, zamiast używać widoku.W tym przypadku pominąć dokument i zapisać żadnych danych ani połączeń danych w obiekcie okno ramek.

Opcje kreatora aplikacji dla dokumentów i widoków

Kreator aplikacji MFC ma kilka opcji Obsługa bazy danych zaznacz, które są wymienione w poniższej tabeli.Tworzenie aplikacji za pomocą Kreatora aplikacji MFC, te opcje wygenerowanie aplikacji z dokumentów i widoków.Niektóre opcje zapewniają dokumentów i widoków, które pominąć dokumentu niepotrzebne funkcje.Aby uzyskać więcej informacji, zobacz Obsługa bazy danych, Kreator aplikacji MFC.

Opcja

Widok

Dokument

Brak

Pochodna od CView.

Miejsce bez obsługi bazy danych.Jest to opcja domyślna.

Po wybraniu obsługują architektury/widok dokumentu opcji na Typ aplikacji, Kreator aplikacji MFC stronę, uzyskać obsługę pełnego dokumentu, w tym serializacja i New, Otwórz, zapisać, i Zapisz jako poleceń pliku menu.Zobacz aplikacji bez dokumentu.

Tylko pliki nagłówków

Pochodna od CView.

Zapewnia podstawowy poziom wsparcia bazy danych aplikacji.

Zawiera Afxdb.h.Dodaje łącze biblioteki, ale nie tworzy żadnych klas specyficznych dla bazy danych.Można utworzyć później zestawy rekordów i używać ich do zbadania i aktualizacji rekordów.

Widok bazy danych bez obsługi plików

PochodneCRecordView

Zapewnia wsparcie dokumentu, ale nie obsługuje serializacji.Dokument można przechowywać zestawu rekordów i koordynowania wielu widoków; nie obsługuje serializacji lub New, Otwórz, zapisać, i Zapisać jako polecenia.Zobacz aplikacje Minimal dokumenty.Jeśli widok bazy danych, należy określić źródło danych.

Zawiera pliki bazy danych w nagłówku, biblioteki, widok rekordu i zestaw rekordów.(Dostępne tylko dla aplikacji z /Widok dokumentu architektura obsługuje opcji wybranej na Typ aplikacji, Kreator aplikacji MFC strony.)

Widok bazy danych z plików

PochodneCRecordView

Zapewnia obsługę pełnego dokumentu, w tym serializacja i dokumentów związanych z pliku polecenia menu.Bazy danych aplikacji działają zazwyczaj na podstawie na rekord, a nie na-pliku podstawa i dlatego nie muszą serializacji.Jednakże może mieć szczególne wykorzystanie do serializacji.Zobacz aplikacje Minimal dokumenty.Jeśli widok bazy danych, należy określić źródło danych.

Zawiera pliki bazy danych w nagłówku, biblioteki, widok rekordu i zestaw rekordów.(Dostępne tylko dla aplikacji z /Widok dokumentu architektura obsługuje opcji wybranej na Typ aplikacji, Kreator aplikacji MFC strony.)

Alternatywy do serializacji i zastosowań alternatywnych do serializacji, zobacz Szeregowanie: Vs serializacji. Wy bazy danych.

Aplikacje z minimalnym dokumentów

Kreator aplikacji MFC ma dwie opcje obsługi aplikacji dostępu danych formularza.Każda opcja tworzy CRecordView-pochodzące z widoku klasy i dokumentu.Różnią się one wykluczone z dokumentu.

73ty97wx.collapse_all(pl-pl,VS.110).gifDokument bez obsługi plików

Wybierz opcję bazy danych aplikacji kreatora obsługuje widoku bazy danych bez pliku Jeśli nie potrzebujesz serializacji dokumentu.Dokument służy użyteczne w następujących celach:

  • Jest to wygodne miejsce do przechowywania CRecordset obiektu.

    To obciążenie równoleżnikami zwykłym dokumencie pojęć: dokumentu są przechowywane dane (lub, w tym przypadku zestaw rekordów) a widokiem jest widok dokumentu.

  • Jeśli aplikacja przedstawia wiele widoków (na przykład wiele widoków rekordu), dokument obsługuje koordynację widoki.

    Jeżeli wiele widoków tych samych danych, można użyć CDocument::UpdateAllViews funkcji składowej koordynowanie aktualizacje do wszystkich widoków, gdy dowolnego widoku danych.

Zwykle używasz tej opcji dla prostych aplikacji opartych na formularzach.Kreator aplikacji automatycznie obsługuje struktury wygodny dla takich wniosków.

73ty97wx.collapse_all(pl-pl,VS.110).gifDokument z obsługą pliku

Wybierz opcję bazy danych aplikacji kreatora obsługuje widoku bazy danych z pliku , gdy wystąpi alternatywnego wykorzystania związanych dokument pliku poleceń menu i serializacji dokumentu.Części dostępu do danych w programie można użyć dokumentu w taki sam sposób jak opisano w Dokument bez obsługi plików.Zdolność do serializacji dokumentu, można użyć na przykład do odczytu i zapisu dokumentu profilu użytkownika szeregowany przechowujący preferencje użytkownika lub inne przydatne informacje.Więcej pomysłów, zobacz Szeregowanie: Vs serializacji. Wy bazy danych.

Kreator aplikacji obsługuje tę opcję, ale należy napisać kod, który szereguje dokumentu.Serializowane informacje przechowywane w dokumencie danych członków.

Aplikacje, bez dokumentu

Czasami można napisać aplikację, które nie są używane dokumenty lub widoków.Bez dokumentów, możesz przechowywać dane (takie jak CRecordset obiektu) w ramce okna klasy lub klasy aplikacji.Wszelkie dodatkowe wymagania zależą od tego, czy aplikacja udostępnia interfejs użytkownika.

73ty97wx.collapse_all(pl-pl,VS.110).gifObsługa bazy danych z interfejsem użytkownika

Jeśli interfejs użytkownika (inne niż, na przykład, interfejs wiersza polecenia konsoli), aplikacja rysuje bezpośrednio w oknie ramki obszaru klienta, a nie w widoku.Wniosek taki nie używa CRecordView, CFormView, lub CDialog interfejs użytkownika głównego, ale zwykle używać CDialog dla zwykłych okien dialogowych.

73ty97wx.collapse_all(pl-pl,VS.110).gifPisania aplikacji bez dokumentów

Ponieważ Kreator aplikacji nie obsługuje tworzenia aplikacji bez dokumentów, należy napisać własny CWinApp-klasy i, w razie potrzeby również utworzyć CFrameWnd lub CMDIFrameWnd klasy.Zastąpić CWinApp::InitInstance i zadeklarować obiektu aplikacji jako:

CYourNameApp theApp;

Ramach dostaw nadal mechanizm mapę wiadomości i wiele innych funkcji.

73ty97wx.collapse_all(pl-pl,VS.110).gifObsługa bazy danych z dala od interfejsu użytkownika

Niektóre aplikacje muszą, bez interfejsu użytkownika lub tylko jeden minimal.Na przykład załóżmy, że pisania:

  • Obiekt pośredniego dostępu do danych innych aplikacji (klientów) wymagają specjalnego przetwarzania danych między aplikacją a źródłem danych.

  • Aplikacja, która przetwarza dane bez interwencji użytkownika, takich jak aplikacja, która przenosi dane z jednego formatu bazy danych do innego lub który nie obliczeń i dokonuje aktualizacji wsadowych.

Ponieważ żaden dokument nie jest właścicielem CRecordset lub CDaoRecordset obiektów, prawdopodobnie zechcesz przechowywać je jako członek danych osadzonych w sieci CWinApp-aplikacji klasy.Alternatywy obejmują:

  • Nie trzyma się stałe CRecordset lub CDaoRecordset na wszystkich obiektów.Można przekazać NULL do konstruktorów klas użytkownika zestawu rekordów.W takim przypadku tworzy tymczasowy w ramach CDatabase lub CDaoDatabase obiektu przy użyciu informacji z zestawu GetDefaultConnect funkcji składowej.Jest to najprawdopodobniej podejście alternatywne.

  • Tworzenie CRecordset lub CDaoRecordset obiektu zmiennej globalnej.Ta zmienna powinna być wskaźnik do obiektu recordset, utworzona dynamicznie w sieci CWinApp::InitInstance zastąpić.Pozwala to uniknąć próby konstruowania obiektu, zanim w ramach jest zainicjowany.

  • Za pomocą obiektów recordset, podobnie jak w kontekście dokumentu lub widoku.Tworzenie zestawów rekordów członka funkcje aplikacji lub okno ramek obiektów.

Zobacz też

Koncepcje

Klasami baz danych MFC (ODBC i obiektów DAO)