Sada záznamů: Práce s velkými datovými položkami (ODBC)
Toto téma platí pro třídy knihovny MFC rozhraní ODBC a tříd knihovny MFC rozhraní DAO.
[!POZNÁMKA]
Používáte-li třídy rozhraní DAO knihovny MFC, můžete spravovat velké datové položky s třídou CByteArray namísto třídy CLongBinary.Pokud pracujete se třídami knihovny MFC rozhraní ODBC s hromadné načítání řádků, použijte CLongBinary spíše než CByteArray.Další informace o hromadném načítání řádku, naleznete v sady záznamů: Fetching Records in Bulk (ODBC).
Předpokládejme, že databáze mohou ukládat velkými kusy dat, například rastrové obrázky (fotografie zaměstnance, mapy, obrázky produktů, objekty OLE a tak dále).Tento druh dat je často označovány jako binární rozsáhlý objekt (nebo binárního rozsáhlého objektu), protože:
Hodnotu každého pole je velký.
Na rozdíl od čísla a jiné jednoduché datové typy nemá žádné předvídatelné velikost.
Data jsou z hlediska programu formless.
Toto téma vysvětluje, jaká podpora databázové třídy poskytují pro práci s těchto objektů.
Správa rozsáhlých objektů
Sady záznamů jsou dva způsoby, jak řešit zvláštní problémy správy rozsáhlé binární objekty.Můžete použít třídu CByteArray nebo můžete použít třídu CLongBinary.Obecně platí CByteArray je preferovaný způsob, jak spravovat velké binární data.
CByteArrayvyžaduje další režii než CLongBinary , ale je více možností, jak je popsáno v Třída CByteArray.CLongBinaryje popsán v krátce Třída CLongBinary.
Podrobné informace o použití CByteArray práce s velkými datovými položkami, viz Technická poznámka: 45.
Třída CByteArray
CByteArrayje jedním z kolekce tříd knihovny MFC.A CByteArray objekt ukládá dynamické pole bajtů – matice růst podle potřeby.Třída poskytuje rychlý přístup podle indexu, stejně jako u předdefinovaných polí C++.CByteArrayobjekty lze serializovat a dumpingové pro diagnostické účely.Třída poskytuje členské funkce pro získání a nastavení zadaných bajtů, vkládání a bajtů přidávání a odstraňování jeden bajt nebo všechny bajty.Tato zařízení proveďte analýzu binárních dat snadnější.Například pokud objekt OLE je binární objekt, pravděpodobně pracovat přes některé bajty záhlaví k dosažení skutečného objektu.
Použití CByteArray v sadách záznamů
Tím, že pole datových členů sady záznamů typu CByteArray, poskytují pevný základ ze kterého RFX můžete spravovat takový objekt přenos mezi vaší sady záznamů a zdroj dat a pomocí kterého lze manipulovat data uvnitř objektu.Určitý web potřebuje RFX pro načtená data a potřebujete přístup k podkladová data.
Podrobné informace o použití CByteArray práce s velkými datovými položkami, viz Technická poznámka: 45.
Třída CLongBinary
A CLongBinary objekt je jednoduché prostředí kolem HGLOBAL zpracovat do bloku úložiště přidělen do haldy.Když vytvoří vazbu mezi sloupci tabulky obsahujícím binární rozsáhlý objekt, přiděluje RFX HGLOBAL zpracování, pokud jej potřebuje k přenosu dat do sady záznamů a uloží popisovač v CLongBinary sady záznamů pole.
Pak použijte HGLOBAL zpracovat, m_hData, práce s daty, provozující, jako na kterémkoli data.To je tam, kde CByteArray možnosti.
Upozornění |
---|
CLongBinary objekty nelze použít jako parametry ve volání funkce.Navíc jejich provádění, která volá :: SQLGetData, nutně zpomaluje výkon posouvání posuvníkem snímku.To může platit i při použití :: SQLGetData volat sami načíst schéma dynamické sloupce. |
Viz také
Koncepty
Sada záznamů: Získávání součtů a jiných agregačních výsledků (ODBC)