Sdílet prostřednictvím


COleDBRecordView – třída

Zobrazení, které zobrazuje záznamy databáze v ovládacích prvcích.

Syntaxe

class COleDBRecordView : public CFormView

Členové

Chráněné konstruktory

Název Popis
COleDBRecordView::COleDBRecordView COleDBRecordView Vytvoří objekt.

Veřejné metody

Název Popis
COleDBRecordView::OnGetRowset Vrátí standardní hodnotu HRESULT.
COleDBRecordView::Onmove Aktualizuje aktuální záznam (pokud je zašpiněný) ve zdroji dat a pak se přesune na zadaný záznam (další, předchozí, první nebo poslední).

Poznámky

Zobrazení je zobrazení formuláře přímo připojené k objektu CRowset . Zobrazení se vytvoří z prostředku šablony dialogového okna a zobrazí pole objektu CRowset v ovládacích prvcích šablony dialogového okna. Objekt COleDBRecordView používá výměnu dat dialogového okna (DDX) a navigační funkce integrované CRowsetdo , k automatizaci přesunu dat mezi ovládacími prvky ve formuláři a poli sady řádků. COleDBRecordView také poskytuje výchozí implementaci pro přechod na první, další, předchozí nebo poslední záznam a rozhraní pro aktualizaci záznamu aktuálně v zobrazení.

Pomocí funkcí COleDbRecordView DDX můžete získat data přímo ze sady záznamů databáze a zobrazit je v ovládacím prvku dialogového okna. Měli byste použít DDX_* metody (například DDX_Text), nikoli DDX_Field* funkce (například DDX_FieldText) s COleDbRecordView. DDX_FieldText nebude fungovat, COleDbRecordView protože DDX_FieldText přebírá další argument typu CRecordset* (pro CRecordView) nebo CDaoRecordset* (pro CDaoRecordView).

Poznámka:

Pokud pracujete s třídami DAO (Data Access Objects) místo tříd šablony příjemce OLE DB, použijte místo toho třídu CDaoRecordView . Další informace naleznete v článku Přehled: Programování databáze.

COleDBRecordView sleduje pozici uživatele v sadě řádků, aby zobrazení záznamů bylo možné aktualizovat uživatelské rozhraní. Když se uživatel přesune na konec sady řádků, zobrazení záznamu zakáže objekty uživatelského rozhraní ( například položky nabídky nebo tlačítka panelu nástrojů) pro další pohyb ve stejném směru.

Další informace o třídách sady řádků naleznete v článku Použití šablon příjemců OLE DB.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

COleDBRecordView

Požadavky

Hlavička: afxoledb.h

COleDBRecordView::COleDBRecordView

COleDBRecordView Vytvoří objekt.

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

Parametry

lpszTemplateName
Obsahuje řetězec ukončený hodnotou null, který je názvem prostředku šablony dialogového okna.

nIDTemplate
Obsahuje číslo ID prostředku šablony dialogového okna.

Poznámky

Když vytvoříte objekt typu odvozeného z COleDBRecordView, vyvoláte jeden z konstruktorů vytvořit objekt zobrazení a identifikovat prostředek dialogového okna, na kterém je zobrazení založeno. Prostředek můžete identifikovat buď podle názvu (předat řetězec jako argument konstruktoru), nebo jeho ID (předat celé číslo bez znaménka jako argument).

Poznámka:

Vaše odvozená třída musí zadat svůj vlastní konstruktor. V konstruktoru vyvoláte konstruktor , COleDBRecordView::COleDBRecordViews názvem prostředku nebo ID jako argument.

COleDBRecordView::OnGetRowset

Vrátí popisovač objektu CRowset<> přidruženého k zobrazení záznamu.

virtual CRowset<>* OnGetRowset() = 0;

Návratová hodnota

Standardní hodnota HRESULT.

Poznámky

Chcete-li vytvořit nebo získat objekt sady řádků a vrátit popisovač, je nutné tuto členovou funkci přepsat. Pokud deklarujete třídu zobrazení záznamů pomocí třídy ClassWizard, průvodce zapíše výchozí přepsání za vás. Výchozí implementace TřídyWizard vrátí popisovač sady řádků uložený v zobrazení záznamu, pokud existuje. Pokud ne, vytvoří objekt sady řádků typu, který jste zadali pomocí TřídyWizard, a volá jeho Open členskou funkci, aby otevřela tabulku nebo spustila dotaz a pak vrátí popisovač objektu.

Poznámka:

V předchozí verzi MFC 7.0 OnGetRowset vrátil ukazatel na CRowset. Pokud máte kód, který volá OnGetRowset, musíte změnit návratový typ na templatized třídy CRowset<>.

Příklad

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();

Další informace a příklady najdete v článku Zobrazení záznamů: Použití zobrazení záznamů.

COleDBRecordView::Onmove

Přesune se do jiného záznamu v sadě řádků a zobrazí jeho pole v ovládacích prvcích zobrazení záznamu.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parametry

nIDMoveCommand
Jedna z následujících standardních hodnot ID příkazu:

  • ID_RECORD_FIRST – Přechod na první záznam v sadě záznamů

  • ID_RECORD_LAST – Přechod na poslední záznam v sadě záznamů

  • ID_RECORD_NEXT – Přechod na další záznam v sadě záznamů

  • ID_RECORD_PREV – Přechod na předchozí záznam v sadě záznamů

Návratová hodnota

Nenulové, pokud byl přesun úspěšný; jinak 0, pokud byla žádost o přesunutí zamítnuta.

Poznámky

Výchozí implementace volá příslušnou Move členovou funkci objektu CRowset přidruženého k zobrazení záznamu.

Ve výchozím nastavení aktualizuje aktuální záznam ve zdroji dat, OnMove pokud ho uživatel změnil v zobrazení záznamů.

Průvodce aplikací vytvoří prostředek nabídky s položkami nabídky První záznam, Poslední záznam, Další záznam a Předchozí záznam. Pokud vyberete možnost ukotvitelný panel nástrojů, Průvodce aplikací vytvoří také panel nástrojů s tlačítky odpovídajícími těmto příkazům.

Pokud přesunete poslední záznam v sadě záznamů, bude zobrazení záznamů nadále zobrazovat poslední záznam. Pokud se posunete zpět za první záznam, bude zobrazení záznamů nadále zobrazovat první záznam.

Viz také

Graf hierarchie