Sdílet prostřednictvím


Vytváření příjemce bez použití průvodce

Následující příklad předpokládá, že přidáváte podporu příjemce technologie OLE DB k existujícímu projektu knihovny ATL.Pokud chcete přidat podporu příjemce technologie OLE DB k aplikaci knihovny MFC, měli byste spustit průvodce aplikace knihovny MFC, který vytvoří všechnu potřebnou podporu a vyvolá rutiny knihovny MFC, nezbytné ke spuštění aplikace.

Chcete-li přidat podporu příjemce technologie OLE DB, bez použití průvodce příjemce knihovny ATL technologie OLE DB:

  • Do vašeho souboru Stdafx.h připojte následující příkazy #include:

    #include <atlbase.h>
    #include <atldbcli.h>
    #include <atldbsch.h> // if you are using schema templates
    

Programově obvykle příjemce provádí následující sekvence operací:

  • Vytvořte třídu uživatelského záznamu, která propojí sloupce k lokálním proměnným.V tomto příkladu je třída CMyTableNameAccessor třídou uživatelského záznamu (viz Uživatelské záznamy).Tato třída obsahuje mapu sloupce a mapu parametru.Deklarujte datového člena ve třídě uživatelského záznamu pro každé pole, které určíte ve Vaší mapě sloupce; pro každý z těchto datových členů deklarujte také datového člena a délku datového člena.Více informací naleznete v tématuDatové členy stavu pole v přístupových objektech generovaných průvodcem.

    [!POZNÁMKA]

    Pokud napíšete vlastního příjemce, data proměnné musí předcházet stavu a délce proměnných.

  • Vytvoření instance zdroje dat a relace.Rozhodněte se, jaký typ přistupujícího objektu a sady řádků používat, a potom vytvořte instanci sady řádků pomocí CCommand nebo CTable:

    CDataSource ds;
    CSession ss;
    class CMyTableName : public CCommand<CAccessor<CMyTableNameAccessor> >
    
  • Zavolejte CoInitialize k inicializaci modelu COM.Toto je obvykle voláno v hlavním kódu.Příklad:

    HRESULT hr = CoInitialize(NULL);
    
  • Zavolejte CDataSource::Open nebo jednu z jeho variant.

  • Otevřete připojení ke zdroji dat, otevřete relaci a otevřete a inicializaci sady řádků (a je-li příkaz, tak ho také spusťte):

    hr = ds.Open();
    hr = ss.Open(ds);
    hr = rs.Open();            // (Open also executes the command)
    
  • Volitelně můžete nastavit vlastnosti sady řádků pomocí CDBPropSet::AddProperty a předávat je jako parametr na rs.Open. Příklad způsobu provedení naleznete v GetRowsetProperties v tématu Vygenerované metody průvodcem příjemce.

  • Nyní můžete použít sadu řádků k načtení/manipulování s daty.

  • Když je aplikace ukončena, zavře připojení, relaci a sadu řádků:

    rs.Close();
    ss.Close();
    ds.Close();
    

    Pokud používáte příkaz, budete chtít volat ReleaseCommand po Close.Příklad kódu v CCommand::Close ukazuje, jak volat Close a ReleaseCommand.

  • Zavolejte CoUnInitialize k inicializaci modelu COM.Toto je obvykle voláno v hlavním kódu.

    CoUninitialize();
    

Viz také

Referenční dokumentace

Vytváření OLE DB spotřebitele