Sada záznamů: Práce s velkými datovými položkami (ODBC)
Toto téma se týká tříd MFC ODBC a tříd MFC DAO.
Poznámka
Pokud používáte tříd MFC DAO, spravovat velké datové položky s třídou CByteArray namísto třídy CLongBinary. Používáte tříd MFC ODBC s hromadného načtení řádku použít CLongBinary namísto CByteArray. Další informace o hromadném načítání řádku, naleznete v tématu Sada záznamů: Hromadné načítání záznamů (ODBC).
Předpokládejme, že databáze můžete ukládat velkých kusů dat jako rastrové obrázky (fotografie zaměstnance, mapy, obrázky produktů, objekty OLE a podobně). Tento druh dat je často označována jako Binary Large Object (nebo BLOB) protože:
Každá hodnota 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é poskytují databáze tříd pro práci s objekty takové podpory.
Správa velké objekty
Dva způsoby, jak řešit zvláštní obtíže binární rozsáhlé objekty správy mít sady záznamů. Můžete použít třídu CByteArray nebo můžete použít třídu CLongBinary. Obecně CByteArray upřednostňovaným způsobem spravovat velké binární data.
CByteArrayvyžaduje další režii než CLongBinary , ale je schopna, jak je popsáno v Třídy CByteArray. CLongBinaryje popsán v krátce Třídy CLongBinary.
Podrobné informace o použití CByteArray pracovat velké datové položky naleznete v tématu Technická poznámka 45.
Třída CByteArray
CByteArrayje kolekce tříd MFC. A CByteArray objekt ukládá dynamické pole bajtů – matice může růst podle potřeby. Třída poskytuje rychlý přístup pomocí indexu jako u předdefinovaných polí C++. CByteArrayobjekty lze serializovat a dumpingové pro diagnostické účely. Třída dodává členské funkce získání a nastavení zadaných bajtů, vkládání a přidávání bajtů a odebrání všech bajtů nebo jeden bajt. Tato zařízení provést analýzu jednodušší binární data. Například pokud je binární objekt objekt OLE, pravděpodobně pracovat přes některé bajty záhlaví k dosažení skutečného objektu.
Pomocí sady záznamů CByteArray
Tím, že datový člen vaší sady záznamů pole typu CByteArray, poskytují pevný základ ze kterého RFX takový objekt přenos mezi vaší sady záznamů a zdroj dat můžete spravovat a jehož prostřednictvím lze manipulovat s daty uvnitř objektu. RFX potřebuje určitý web pro načtená data a potřebujete přístup k podkladová data.
Podrobné informace o použití CByteArray pracovat velké datové položky naleznete v tématu Technická poznámka 45.
Třída CLongBinary
A CLongBinary je jednoduché prostředí kolem objektu HGLOBAL zpracování bloku úložiště přiděleno haldy. Po sloupci tabulky obsahujícím binary large object je spojen se přiděluje RFX HGLOBAL Zpracovat potřebuje k přenosu dat záznamů a uloží popisovač v CLongBinary pole záznamů.
Naopak použít HGLOBAL zpracování, m_hData, práce s daty sám provozující, stejně jako na všech dat úchyt. Kde je CByteArray přidá schopnosti.
![]() |
---|
CLongBinary objekty nelze použít jako parametry ve volání funkce. Kromě toho jejich provádění volání :: Funkce SQLGetData, nutně zpomaluje výkon posouvání posuvníkem snímku. To může platit i při použití :: Funkce SQLGetData volání sami sloupců schématu dynamické načtení. |
Viz také
Koncepty
Sada záznamů: Získávání funkcí suma a jiných agregačních výsledků (ODBC)