Udostępnij za pośrednictwem


Klasa COleDBRecordView

Widok, który wyświetla rekordy bazy danych w kontrolkach.

Składnia

class COleDBRecordView : public CFormView

Elementy członkowskie

Konstruktory chronione

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

Metody publiczne

Nazwa/nazwisko opis
COleDBRecordView::OnGetRowset Zwraca standardową wartość HRESULT.
COleDBRecordView::OnMove Aktualizuje bieżący rekord (jeśli jest zanieczyszczony) w źródle danych, a następnie przechodzi do określonego rekordu (następny, poprzedni, pierwszy lub ostatni).

Uwagi

Widok jest widokiem formularza połączonym bezpośrednio z obiektem CRowset . Widok jest tworzony na podstawie zasobu szablonu okna dialogowego i wyświetla pola CRowset obiektu w kontrolkach szablonu okna dialogowego. Obiekt COleDBRecordView używa wymiany danych dialogowych (DDX) i funkcji nawigacji wbudowanej w CRowsetprogram , aby zautomatyzować przenoszenie danych między kontrolkami w formularzu i polach zestawu wierszy. COleDBRecordView Udostępnia również domyślną implementację przejścia do pierwszego, następnego, poprzedniego lub ostatniego rekordu oraz interfejs do aktualizowania rekordu aktualnie w widoku.

Za pomocą funkcji COleDbRecordView DDX można pobierać dane bezpośrednio z zestawu rekordów bazy danych i wyświetlać je w kontrolce okna dialogowego. Należy użyć DDX_* metod (takich jak DDX_Text), a nie DDX_Field* funkcji (takich jak DDX_FieldText) z COleDbRecordView. DDX_FieldText program nie będzie działać, COleDbRecordView ponieważ DDX_FieldText przyjmuje dodatkowy argument typu CRecordset* (dla CRecordView) lub CDaoRecordset* (dla CDaoRecordView).

Uwaga

Jeśli pracujesz z klasami Obiektów dostępu do danych (DAO), a nie z klasami szablonów użytkownika OLE DB, zamiast tego użyj klasy CDaoRecordView . Aby uzyskać więcej informacji, zobacz artykuł Omówienie: programowanie bazy danych.

COleDBRecordView śledzi pozycję użytkownika w zestawie wierszy, aby widok rekordu mógł zaktualizować interfejs użytkownika. Gdy użytkownik przechodzi na końcu zestawu wierszy, widok rekordu wyłącza obiekty interfejsu użytkownika — takie jak elementy menu lub przyciski paska narzędzi — w celu dalszego przechodzenia w tym samym kierunku.

Aby uzyskać więcej informacji na temat klas zestawów wierszy, zobacz artykuł Using OLE DB Consumer Templates (Używanie szablonów odbiorców OLE DB).

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

Widok CView

CScrollView

CFormView

COleDBRecordView

Wymagania

Nagłówek: afxoledb.h

COleDBRecordView::COleDBRecordView

COleDBRecordView Tworzy obiekt.

COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);

Parametry

lpszTemplateName
Zawiera ciąg zakończony o wartości null, który jest nazwą zasobu szablonu okna dialogowego.

nIDTemplate
Zawiera identyfikator zasobu szablonu okna dialogowego.

Uwagi

Podczas tworzenia obiektu typu pochodzącego z COleDBRecordViewmetody wywołaj jeden z konstruktorów, aby utworzyć obiekt widoku i zidentyfikować zasób okna dialogowego, na którym opiera się widok. Zasób można zidentyfikować według nazwy (przekazać ciąg jako argument do konstruktora) lub według jego identyfikatora (przekazać niepodpisaną liczbę całkowitą jako argument).

Uwaga

Klasa pochodna musi podać własny konstruktor. W konstruktorze wywołaj konstruktor , COleDBRecordView::COleDBRecordViewz nazwą zasobu lub identyfikatorem jako argumentem.

COleDBRecordView::OnGetRowset

Zwraca uchwyt dla obiektu CRowset<> skojarzonego z widokiem rekordu.

virtual CRowset<>* OnGetRowset() = 0;

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Należy zastąpić tę funkcję składową, aby utworzyć lub uzyskać obiekt zestawu wierszy i zwrócić do niej uchwyt. Jeśli zadeklarujesz klasę widoku rekordów za pomocą klasy ClassWizard, kreator napisze dla Ciebie domyślne zastąpienie. Domyślna implementacja klasyWizard zwraca uchwyt zestawu wierszy przechowywany w widoku rekordu, jeśli istnieje. Jeśli tak nie jest, tworzy obiekt zestawu wierszy określonego za pomocą klasy ClassWizard i wywołuje funkcję Open składową, aby otworzyć tabelę lub uruchomić zapytanie, a następnie zwraca uchwyt do obiektu.

Uwaga

Poprzednio do MFC 7.0 OnGetRowset zwrócił wskaźnik do CRowset. Jeśli masz kod, który wywołuje OnGetRowsetmetodę , musisz zmienić typ powrotu na klasę templatized CRowset<>.

Przykład

CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();

// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();

Aby uzyskać więcej informacji i przykładów, zobacz artykuł Record Views: Using a Record View (Widoki rekordów: używanie widoku rekordów).

COleDBRecordView::OnMove

Przechodzi do innego rekordu w zestawie wierszy i wyświetla swoje pola w kontrolkach widoku rekordu.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parametry

nIDMoveCommand
Jedna z następujących standardowych wartości identyfikatora polecenia:

  • ID_RECORD_FIRST — przejdź do pierwszego rekordu w zestawie rekordów.

  • ID_RECORD_LAST — przejdź do ostatniego rekordu w zestawie rekordów.

  • ID_RECORD_NEXT — przejdź do następnego rekordu w zestawie rekordów.

  • ID_RECORD_PREV — przejdź do poprzedniego rekordu w zestawie rekordów.

Wartość zwracana

Nonzero, jeśli przeniesienie zakończyło się pomyślnie; w przeciwnym razie 0, jeśli żądanie przeniesienia zostało odrzucone.

Uwagi

Domyślna implementacja wywołuje odpowiednią Move funkcję CRowset składową obiektu skojarzonego z widokiem rekordu.

Domyślnie aktualizuje bieżący rekord w źródle danych, OnMove jeśli użytkownik zmienił go w widoku rekordu.

Kreator aplikacji tworzy zasób menu z elementami menu Pierwszy rekord, Ostatni rekord, Następny rekord i Poprzedni rekord. W przypadku wybrania opcji Docka paska narzędzi Kreator aplikacji utworzy również pasek narzędzi z przyciskami odpowiadającymi tym poleceniom.

Jeśli przejdziesz obok ostatniego rekordu w zestawie rekordów, widok rekordu będzie nadal wyświetlać ostatni rekord. Jeśli przejdziesz wstecz do pierwszego rekordu, widok rekordu będzie nadal wyświetlać pierwszy rekord.

Zobacz też

Wykres hierarchii