Použití ručních přístupových objektů
Při zpracování neznámého příkazu je potřeba udělat čtyři věci:
Určení parametrů
Spuštění příkazu
Určení výstupních sloupců
Zjistěte, jestli existuje více návratových sad řádků.
Pokud chcete tyto věci provést pomocí šablon příjemců OLE DB, použijte CManualAccessor
třídu a postupujte takto:
CCommand
Otevřete objekt jakoCManualAccessor
parametr šablony.CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Zadejte dotaz na relaci pro
IDBSchemaRowset
rozhraní a použijte sadu parametrů procedury. Pokud rozhraníIDBSchemaRowset
není dostupné, zadejte dotaz naICommandWithParameters
rozhraní. ZavolejteGetParameterInfo
na informace. Pokud není k dispozici žádné rozhraní, můžete předpokládat, že neexistují žádné parametry.Pro každý parametr zavolejte
AddParameterEntry
, abyste přidali parametry a nastavili je.Otevřete sadu řádků, ale nastavte parametr vazby na
false
.Volání
GetColumnInfo
pro načtení výstupních sloupců SloužíAddBindEntry
k přidání výstupního sloupce do vazby.Volání
GetNextResult
, které určí, jestli je k dispozici více sad řádků. Opakujte kroky 2 až 5.
Příklad ručního přístupového objektu najdete CDBListView::CallProcedure
v ukázce DBVIEWERu .