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é CRowset
do , 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
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::COleDBRecordView
s 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.