Sada záznamů: Architektura (ODBC)
Toto téma se vztahuje na třídy MFC ODBC.
Toto téma popisuje datové členy, které tvoří architekturu objektu sady záznamů:
Poznámka:
Toto téma se vztahuje na objekty odvozené z toho, ze CRecordset
kterých hromadné načítání řádků nebylo implementováno. Pokud je implementováno hromadné načítání řádků, architektura je podobná. Informace o rozdílech najdete v tématu Sada záznamů: Hromadné načítání záznamů (ODBC).
Ukázková třída
Poznámka:
Průvodce příjemcem rozhraní ODBC MFC není v sadě Visual Studio 2019 a novější k dispozici. Příjemce můžete přesto vytvořit ručně.
Pokud použijete Průvodce příjemcem MFC ODBC z Průvodce přidáním třídy deklarovat třídu sady záznamů odvozené z CRecordset
, výsledná třída má obecnou strukturu zobrazenou v následující jednoduché třídě:
class CCourse : public CRecordset
{
public:
CCourse(CDatabase* pDatabase = NULL);
...
CString m_strCourseID;
CString m_strCourseTitle;
CString m_strIDParam;
};
Na začátku třídy průvodce zapíše sadu datových členů pole. Při vytváření třídy je nutné zadat jeden nebo více datových členů pole. Pokud je třída parametrizovaná, protože ukázková třída je (s datovým členem m_strIDParam
), je nutné ručně přidat datové členy parametrů. Průvodce nepodporuje přidávání parametrů do třídy.
Datové členy polí
Nejdůležitějšími členy třídy sady záznamů jsou datové členy polí. Pro každý sloupec, který vyberete ze zdroje dat, třída obsahuje datový člen příslušného datového typu pro daný sloupec. Například ukázková třída zobrazená na začátku tohoto tématu má dva datové členy pole, oba typy CString
, volané m_strCourseID
a m_strCourseTitle
.
Když sada záznamů vybere sadu záznamů, rozhraní automaticky vytvoří vazbu sloupců aktuálního záznamu (po Open
volání, první záznam je aktuální) s datovými členy pole objektu. To znamená, že architektura používá příslušný datový člen pole jako vyrovnávací paměť, do které se ukládá obsah sloupce záznamu.
Když se uživatel posune na nový záznam, architektura používá datové členy pole k reprezentaci aktuálního záznamu. Architektura aktualizuje datové členy pole a nahradí hodnoty předchozího záznamu. Datové členy polí se také používají k aktualizaci aktuálního záznamu a k přidání nových záznamů. V rámci procesu aktualizace záznamu zadáte hodnoty aktualizace tak, že hodnoty přiřadíte přímo příslušnému datovému členu nebo členům pole.
Datové členy parametrů
Pokud je třída parametrizovaná, má jeden nebo více datových členů parametrů. Parametrizovaná třída umožňuje založit dotaz sady záznamů na informace získané nebo vypočítané za běhu.
Parametr obvykle pomáhá zúžit výběr, jako v následujícím příkladu. Na základě ukázkové třídy na začátku tohoto tématu může objekt sady záznamů spustit následující příkaz SQL:
SELECT CourseID, CourseTitle FROM Course WHERE CourseID = ?
"?" je zástupný symbol pro hodnotu parametru, kterou zadáte za běhu. Když sestavíte sadu záznamů a nastavíte její m_strIDParam
datový člen na MATH101, stane se efektivní příkaz SQL pro sadu záznamů:
SELECT CourseID, CourseTitle FROM Course WHERE CourseID = MATH101
Definováním datových členů parametrů sdělíte rozhraní o parametrech v řetězci SQL. Architektura vytvoří vazbu parametru, který rozhraní ODBC informuje, kde získat hodnoty, které se mají nahradit zástupným textem. Výsledná sada záznamů v příkladu obsahuje pouze záznam z tabulky Course s sloupcem CourseID, jehož hodnota je MATH101. Jsou vybrány všechny zadané sloupce tohoto záznamu. Můžete zadat libovolný počet parametrů (a zástupných symbolů).
Poznámka:
MFC neprovádí nic s parametry – zejména neprovádí náhradu textu. Místo toho MFC říká rozhraní ODBC, kde získat parametr; ODBC načte data a provede potřebnou parametrizaci.
Poznámka:
Pořadí parametrů je důležité. Informace o těchto a dalších informacích o parametrech naleznete v tématu Sada záznamů: Parametrizace sady záznamů (ODBC).
Použití m_nFields a m_nParams
Když průvodce zapíše konstruktor pro vaši třídu, inicializuje také m_nFields datový člen, který určuje počet datových členů pole ve třídě. Pokud do třídy přidáte nějaké parametry , musíte také přidat inicializaci pro datový člen m_nParams , který určuje počet datových členů parametrů. Tato architektura používá tyto hodnoty pro práci s datovými členy.
Další informace a příklady naleznete v tématu Výměna polí záznamu: Použití RFX.
Viz také
Sada záznamů (ODBC)
Sada záznamů: Deklarování třídy pro tabulku (ODBC)
Výměna polí záznamu (Record Field Exchange – RFX)