Sdílet prostřednictvím


Makra a globální funkce pro šablony příjemců OLE DB

Šablony příjemců OLE DB zahrnují následující makra a globální funkce:

Globální funkce

Název Popis
AtlTraceErrorRecords Vypisuje informace o záznamu chyby OLE DB do zařízení s výpisem paměti, pokud se vrátí chyba.

Makra mapování přístupových objektů

Název Popis
BEGIN_ACCESSOR Označí začátek položky příslušenství.
BEGIN_ACCESSOR_MAP Označí začátek položek mapování příslušenství.
END_ACCESSOR Označí konec položky příslušenství.
END_ACCESSOR_MAP Označí konec položek mapy příslušenství.

Makra map sloupců

Název Popis
BEGIN_COLUMN_MAP Označí začátek položek mapování sloupců ve třídě záznamů uživatele.
BLOB_ENTRY Slouží k vytvoření vazby binárního velkého objektu (BLOB).
BLOB_ENTRY_LENGTH Zaznamenává délku sloupce dat objektu BLOB.
BLOB_ENTRY_LENGTH_STATUS Zaznamenává délku a stav sloupce dat objektu BLOB.
BLOB_ENTRY_STATUS Zaznamenává stav sloupce dat objektu BLOB.
BLOB_NAME Slouží k vytvoření vazby binárního velkého objektu podle názvu sloupce.
BLOB_NAME_LENGTH Zaznamenává délku sloupce dat objektu BLOB.
BLOB_NAME_LENGTH_STATUS Zaznamenává délku a stav sloupce dat objektu BLOB.
BLOB_NAME_STATUS Zaznamenává stav sloupce dat objektu BLOB.
BOOKMARK_ENTRY Představuje položku záložky v sadě řádků. Položka záložky je zvláštní druh položky sloupce.
COLUMN_ENTRY Představuje vazbu na konkrétní sloupec v databázi.
COLUMN_ENTRY_EX Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry typu, délky, přesnosti, měřítka a stavu .
COLUMN_ENTRY_LENGTH Představuje vazbu na konkrétní sloupec v databázi. Podporuje proměnnou délky .
COLUMN_ENTRY_LENGTH_STATUS Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry stavu a délky .
COLUMN_ENTRY_PS Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry přesnosti a škálování .
COLUMN_ENTRY_PS_LENGTH Představuje vazbu na konkrétní sloupec v databázi. Podporuje proměnnou délky , přesnost a parametry měřítka .
COLUMN_ENTRY_PS_LENGTH_STATUS Představuje vazbu na konkrétní sloupec v databázi. Podporuje proměnné stavu a délky , přesnost a měřítko .
COLUMN_ENTRY_PS_STATUS Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry stavové proměnné, přesnosti a škálování.
COLUMN_ENTRY_STATUS Představuje vazbu na konkrétní sloupec v databázi. Podporuje stavové proměnné.
COLUMN_ENTRY_TYPE Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametr typu .
COLUMN_ENTRY_TYPE_SIZE Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry typu a velikosti .
COLUMN_NAME Představuje vazbu na konkrétní sloupec v databázi podle názvu.
COLUMN_NAME_EX Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci datového typu, velikosti, přesnosti, měřítka, délky sloupce a stavu sloupce.
COLUMN_NAME_LENGTH Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci délky sloupce.
COLUMN_NAME_LENGTH_STATUS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci délky a stavu sloupce.
COLUMN_NAME_PS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci přesnosti a škálování.
COLUMN_NAME_PS_LENGTH Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci přesnosti, měřítka a délky sloupce.
COLUMN_NAME_PS_LENGTH_STATUS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci přesnosti, měřítka, délky sloupce a stavu sloupce.
COLUMN_NAME_PS_STATUS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci přesnosti, měřítka a stavu sloupce.
COLUMN_NAME_STATUS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci stavu sloupce.
COLUMN_NAME_TYPE Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci datového typu.
COLUMN_NAME_TYPE_PS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci datového typu, přesnosti a škálování.
COLUMN_NAME_TYPE_SIZE Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci datového typu a velikosti.
COLUMN_NAME_TYPE_STATUS Představuje vazbu na konkrétní sloupec v databázi podle názvu. Podporuje specifikaci datového typu a stavu sloupce.
END_COLUMN_MAP Označí konec položek mapování sloupců.

Makra příkazů

Název Popis
DEFINE_COMMAND Určuje příkaz, který se použije k vytvoření sady řádků při použití CCommand třídy. Přijímá pouze typy řetězců odpovídající zadanému typu aplikace (ANSI nebo Unicode). Místo DEFINE_COMMAND se doporučuje používat DEFINE_COMMAND_EX .
DEFINE_COMMAND_EX Určuje příkaz, který se použije k vytvoření sady řádků při použití CCommand třídy. Podporuje aplikace ANSI a Unicode.

Makra mapování parametrů

Název Popis
BEGIN_PARAM_MAP Označí začátek položek mapování parametrů ve třídě záznamu uživatele.
END_PARAM_MAP Označí konec položek mapování parametrů.
SET_PARAM_TYPE Určuje COLUMN_ENTRY makra, která se řídí SET_PARAM_TYPE makrem jako vstupem, výstupem nebo vstupem nebo výstupem.

AtlTraceErrorRecords

Vypisuje informace o záznamu chyby OLE DB do zařízení s výpisem paměti, pokud se vrátí chyba.

Syntaxe

inline void AtlTraceErrorRecords(HRESULT hrErr = S_OK);

Parametry

Herr
[v] HrESULT vrácená členskou funkcí šablony příjemce OLE DB.

Poznámky

Pokud hErr není S_OK, AtlTraceErrorRecords vypíše do zařízení výpisu paměti informace o chybě OLE DB ( karta Ladění okna Výstup nebo soubor). Informace o záznamu chyby získané od zprostředkovatele zahrnují číslo řádku, zdroj, popis, soubor nápovědy, kontext a identifikátor GUID pro každou položku záznamu chyby. AtlTraceErrorRecords zobrazí tyto informace pouze v buildech ladění. V buildech vydaných verzí se jedná o prázdnou proceduru, která je optimalizovaná. Další informace naleznete v tématu CDBErrorInfo Třída.

BEGIN_ACCESSOR

Označí začátek položky příslušenství.

Syntaxe

BEGIN_ACCESSOR(num, bAuto)

Parametry

Num
[v] Číslo odsazení nuly pro přístup v této mapě přístupového objektu.

bAuto
[v] Určuje, jestli je toto příslušenství automatickým příslušenstvím nebo ručním příslušenstvím. Pokud trueje příslušenství automatické; pokud falseje příslušenství ruční. Automatický přístup znamená, že se vám při operacích přesunu načítají data.

Poznámky

V případě více přístupových objektů v sadě řádků je nutné zadat BEGIN_ACCESSOR_MAP a použít makro BEGIN_ACCESSOR pro každý jednotlivý přístup. Makro BEGIN_ACCESSOR se dokončí pomocí END_ACCESSOR makra. Makro BEGIN_ACCESSOR_MAP se dokončí pomocí END_ACCESSOR_MAP makra.

Příklad

Viz BEGIN_ACCESSOR_MAP.

BEGIN_ACCESSOR_MAP

Označí začátek položek mapování příslušenství.

Syntaxe

BEGIN_ACCESSOR_MAP(x, num)

Parametry

x
[v] Název třídy záznamu uživatele.

Num
[v] Počet přístupových objektů v této mapě přístupového objektu.

Poznámky

V případě více přístupových objektů v sadě řádků je nutné zadat BEGIN_ACCESSOR_MAP na začátku a použít BEGIN_ACCESSOR makro pro každý jednotlivý přístup. Makro BEGIN_ACCESSOR se dokončí pomocí END_ACCESSOR makra. Mapování příslušenství je dokončeno pomocí END_ACCESSOR_MAP makra.

Pokud máte v záznamu uživatele jenom jeden přístup, použijte BEGIN_COLUMN_MAP makra.

Příklad

class CArtistsAccessor
{
public:
// Data Elements
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];
   short m_nAge;

// Output binding map
BEGIN_ACCESSOR_MAP(CArtistsAccessor, 2)
   BEGIN_ACCESSOR(0, true)
      COLUMN_ENTRY(1, m_szFirstName)
      COLUMN_ENTRY(2, m_szLastName)
   END_ACCESSOR()
   BEGIN_ACCESSOR(1, false) // Not an auto accessor
      COLUMN_ENTRY(3, m_nAge)
   END_ACCESSOR()
END_ACCESSOR_MAP()

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsAccessor, L" \
   SELECT \
      FirstName, \
      LastName, \
      Age \
      FROM Artists")
};

END_ACCESSOR

Označí konec položky příslušenství.

Syntaxe

END_ACCESSOR()

Poznámky

U více přístupových objektů v sadě řádků je nutné zadat BEGIN_ACCESSOR_MAP a pro každý jednotlivý přístup použít BEGIN_ACCESSOR makro. Makro BEGIN_ACCESSOR se dokončí pomocí END_ACCESSOR makra. Makro BEGIN_ACCESSOR_MAP se dokončí pomocí END_ACCESSOR_MAP makra.

Příklad

Viz BEGIN_ACCESSOR_MAP.

END_ACCESSOR_MAP

Označí konec položek mapy příslušenství.

Syntaxe

END_ACCESSOR_MAP()

Poznámky

U více přístupových objektů v sadě řádků je nutné zadat BEGIN_ACCESSOR_MAP a pro každý jednotlivý přístup použít BEGIN_ACCESSOR makro. Makro BEGIN_ACCESSOR se dokončí pomocí END_ACCESSOR makra. Makro BEGIN_ACCESSOR_MAP se dokončí pomocí END_ACCESSOR_MAP makra.

Příklad

Viz BEGIN_ACCESSOR_MAP.

BEGIN_COLUMN_MAP

Označí začátek položky mapy sloupce.

Syntaxe

BEGIN_COLUMN_MAP(x)

Parametry

x
[v] Název třídy záznamu uživatele odvozené od CAccessor.

Poznámky

Toto makro se používá v případě jednoho přístupového objektu v sadě řádků. Pokud máte v sadě řádků více přístupových objektů, použijte BEGIN_ACCESSOR_MAP.

Makro BEGIN_COLUMN_MAP se dokončí s END_COLUMN_MAP makrem. Toto makro se používá v případě, že záznam uživatele vyžaduje pouze jeden přístup.

Sloupce odpovídají polím v sadě řádků, které chcete svázat.

Příklad

Tady je ukázkový sloupec a mapa parametrů:

BLOB_ENTRY

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB).

Syntaxe

BLOB_ENTRY(nOrdinal, IID, flags, data)

Parametry

nDinal
[v] Číslo sloupce.

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

Příklad

Podívejte se, jak můžu načíst objekt BLOB?

BLOB_ENTRY_LENGTH

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_ENTRY s tím rozdílem, že toto makro také získá délku v bajtech sloupce objektu BLOB.

Syntaxe

BLOB_ENTRY_LENGTH(nOrdinal, IID, flags, data, length)

Parametry

nDinal
[v] Číslo sloupce.

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[ven] Délka (skutečného) počtu bajtů ve sloupci OBJEKT BLOB.

Příklad

Podívejte se, jak můžu načíst objekt BLOB?

BLOB_ENTRY_LENGTH_STATUS

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_ENTRY s tím rozdílem, že toto makro také získá délku a stav sloupce OBJEKT BLOB.

Syntaxe

BLOB_ENTRY_LENGTH_STATUS(
    nOrdinal,
    IID,
    flags,
    data,
    length,
    status )

Parametry

nDinal
[v] Číslo sloupce.

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[ven] Délka (skutečného) počtu bajtů ve sloupci OBJEKT BLOB.

status
[ven] Stav sloupce dat objektu blob.

Příklad

Podívejte se, jak můžu načíst objekt BLOB?

BLOB_ENTRY_STATUS

Používá se s BEGIN_COLUMN_MAP nebo BEGIN_ACCESSOR_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_ENTRY, s tím rozdílem, že toto makro získá také stav sloupce OBJEKT BLOB.

Syntaxe

BLOB_ENTRY_STATUS(nOrdinal, IID, flags, data, status)

Parametry

nDinal
[v] Číslo sloupce.

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[ven] Stav pole OBJEKT BLOB.

Příklad

Podívejte se, jak můžu načíst objekt BLOB?

BLOB_NAME

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobá se BLOB_ENTRY s tím rozdílem, že toto makro používá místo čísla sloupce název sloupce.

Syntaxe

BLOB_NAME(pszName, IID, flags, data )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

Příklad

Podívejte se, jak můžu načíst objekt BLOB?

BLOB_NAME_LENGTH

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_NAME s tím rozdílem, že toto makro také získá délku v bajtech datového sloupce objektu BLOB.

Syntaxe

BLOB_NAME_LENGTH(pszName, IID, flags, data, length )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[ven] Délka (skutečného) počtu bajtů ve sloupci OBJEKT BLOB.

BLOB_NAME_LENGTH_STATUS

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_NAME s tím rozdílem, že toto makro získá také délku a stav sloupce dat objektu BLOB.

Syntaxe

BLOB_NAME_LENGTH_STATUS(pszName, IID, flags, data, length, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[ven] Délka (skutečného) počtu bajtů ve sloupci OBJEKT BLOB.

status
[ven] Stav pole OBJEKT BLOB.

BLOB_NAME_STATUS

Používá se s BEGIN_COLUMN_MAP a END_COLUMN_MAP k vytvoření vazby binárního velkého objektu (BLOB). Podobně jako u BLOB_NAME s tím rozdílem, že toto makro získá také stav sloupce dat objektu blob.

Syntaxe

BLOB_NAME_STATUS(pszName, IID, flags, data, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

IID
[v] Identifikátor GUID rozhraní, například IDD_ISequentialStream, použitý k načtení objektu BLOB.

vlajky
[v] Příznaky režimu úložiště definované modelem strukturovaného úložiště OLE (například STGM_READ).

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[ven] Stav pole OBJEKT BLOB.

BOOKMARK_ENTRY

Vytvoří vazbu sloupce záložky.

Syntaxe

BOOKMARK_ENTRY(variable)

Parametry

proměnná
[v] Proměnná, která se má svázat se sloupcem záložky.

Příklad

class CArtistsBookmark
{
public:
// Data Elements
   CBookmark<4> m_bookmark;
   short m_nAge;
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];

// Output binding map
BEGIN_COLUMN_MAP(CArtistsBookmark)
   BOOKMARK_ENTRY(m_bookmark)
   COLUMN_ENTRY(1, m_nAge)
   COLUMN_ENTRY(2, m_szFirstName)
   COLUMN_ENTRY(3, m_szLastName)
END_COLUMN_MAP()

   void GetRowsetProperties(CDBPropSet* pPropSet)
   {
      pPropSet->AddProperty(DBPROP_BOOKMARKS, true);
   }

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsBookmark, L" \
   SELECT \
      Age, \
      FirstName, \
      LastName \
      FROM Artists")
};

Další informace naleznete v tématu Použití záložek a třídy CBookmark.

COLUMN_ENTRY

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků.

Syntaxe

COLUMN_ENTRY(nOrdinal, data)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Makro COLUMN_ENTRY se používá na následujících místech:

Příklad

Podívejte se na příklady v tématech o makrech, BEGIN_COLUMN_MAP a BEGIN_ACCESSOR_MAP.

COLUMN_ENTRY_EX

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_EX(nOrdinal, wType, nLength, nPrecision, nScale, data, length, status)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

wType
[v] Datový typ.

nLength
[v] Velikost dat v bajtech.

nPrecision
[v] Maximální přesnost, která se má použít při získávání dat a wType je DBTYPE_NUMERIC. Jinak se tento parametr ignoruje.

nŠkálování
[v] Měřítko, které se má použít při získávání dat a wType je DBTYPE_NUMERIC nebo DBTYPE_DECIMAL.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Makro COLUMN_ENTRY_EX se používá na následujících místech:

Příklad

Viz BOOKMARK_ENTRY.

COLUMN_ENTRY_LENGTH

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_LENGTH(nOrdinal, data, length)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce, počínaje jedním. Záložka odpovídá nule sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

Poznámky

Toto makro podporuje proměnnou délky . Používá se na následujících místech:

COLUMN_ENTRY_LENGTH_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_LENGTH_STATUS(nOrdinal, data, length, status)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Toto makro použijte, pokud chcete podporovat délku a stavové proměnné. Používá se na následujících místech:

COLUMN_ENTRY_PS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků.

Syntaxe

COLUMN_ENTRY_PS(nOrdinal, nPrecision, nScale, data)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Umožňuje určit přesnost a měřítko sloupce, který chcete svázat. Používá se na následujících místech:

COLUMN_ENTRY_PS_LENGTH

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_PS_LENGTH(nOrdinal, nPrecision, nScale, data, length)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce, počínaje jedním. Záložka odpovídá nule sloupce.

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

Poznámky

Umožňuje určit přesnost a měřítko sloupce, který chcete svázat. Toto makro podporuje proměnnou délky . Používá se na následujících místech:

COLUMN_ENTRY_PS_LENGTH_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_PS_LENGTH_STATUS(nOrdinal, nPrecision, nScale, data, length, status)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Umožňuje určit přesnost a měřítko sloupce, který chcete svázat. Toto makro použijte, pokud chcete podporovat délku a stavové proměnné. Používá se na následujících místech:

COLUMN_ENTRY_PS_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_PS_STATUS(nOrdinal, nPrecision, nScale, data, status)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Umožňuje určit přesnost a měřítko sloupce, který chcete svázat. Toto makro podporuje stavová proměnná. Používá se na následujících místech:

COLUMN_ENTRY_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v databázi.

Syntaxe

COLUMN_ENTRY_STATUS(nOrdinal, data, status)

Parametry

Viz DBBINDING v odkazech programátora OLE DB.

nDinal
[v] Číslo sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Toto makro podporuje stavová proměnná. Používá se na následujících místech:

COLUMN_ENTRY_TYPE

Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametr typu .

Syntaxe

COLUMN_ENTRY_TYPE (nOrdinal, wType, data)

Parametry

nDinal
[v] Číslo sloupce.

wType
[v] Datový typ položky sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Toto makro je specializovaná varianta makra COLUMN_ENTRY , která poskytuje způsob zadávání datového typu.

COLUMN_ENTRY_TYPE_SIZE

Představuje vazbu na konkrétní sloupec v databázi. Podporuje parametry typu a velikosti .

Syntaxe

COLUMN_ENTRY_TYPE_SIZE(nOrdinal, wType, nLength, data)

Parametry

nDinal
[v] Číslo sloupce.

wType
[v] Datový typ položky sloupce.

nLength
[v] Velikost položky sloupce v bajtech

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Toto makro je specializovaná varianta makra COLUMN_ENTRY , která poskytuje způsob určení velikosti a typu dat.

COLUMN_NAME

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_ENTRY, s tím rozdílem, že toto makro používá název sloupce místo čísla sloupce.

Syntaxe

COLUMN_NAME(pszName, data)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Makra COLUMN_NAME_* se používají na stejných místech jako COLUMN_ENTRY:

COLUMN_NAME_EX

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako u COLUMN_NAME s tím rozdílem, že toto makro přebírá také datový typ, velikost, přesnost, měřítko, délku sloupce a stav sloupce.

Syntaxe

COLUMN_NAME_EX(pszName, wType, nLength, nPrecision, nScale, data, length, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

wType
[v] Datový typ.

nLength
[v] Velikost dat v bajtech.

nPrecision
[v] Maximální přesnost, která se má použít při získávání dat a wType je DBTYPE_NUMERIC. Jinak se tento parametr ignoruje.

nŠkálování
[v] Měřítko, které se má použít při získávání dat a wType je DBTYPE_NUMERIC nebo DBTYPE_DECIMAL.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_LENGTH

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_NAME, s tím rozdílem, že toto makro má také délku sloupce.

Syntaxe

COLUMN_NAME_LENGTH(pszName, data, length)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_LENGTH_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_NAME s tím rozdílem, že toto makro má také délku sloupce a stav sloupce.

Syntaxe

COLUMN_NAME_LENGTH_STATUS(pszName, data, length, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_PS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_NAME s tím rozdílem, že toto makro také přebírá přesnost a škálování.

Syntaxe

COLUMN_NAME_PS(pszName, nPrecision, nScale, data )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_PS_LENGTH

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_NAME, s tím rozdílem, že toto makro také přebírá přesnost, měřítko a délku sloupce.

Syntaxe

COLUMN_NAME_PS_LENGTH(pszName, nPrecision, nScale, data, length )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_PS_LENGTH_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako u COLUMN_NAME, s tím rozdílem, že toto makro má také přesnost, měřítko, délku sloupce a stav sloupce.

Syntaxe

COLUMN_NAME_PS_LENGTH_STATUS(pszName, nPrecision, nScale, data, length, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

length
[v] Proměnná, která se má svázat s délkou sloupce.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_PS_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobá se COLUMN_NAME s tím rozdílem, že toto makro má také přesnost, měřítko a stav sloupce.

Syntaxe

COLUMN_NAME_PS_STATUS(pszName, nPrecision, nScale, data, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

nPrecision
[v] Maximální přesnost sloupce, který chcete svázat.

nŠkálování
[v] Měřítko sloupce, který chcete svázat.

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobá se COLUMN_NAME s tím rozdílem, že toto makro má také stav sloupce.

Syntaxe

COLUMN_NAME_STATUS(pszName, data, status )

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

data
[v] Odpovídající datový člen v záznamu uživatele.

status
[v] Proměnná, která se má svázat se stavem sloupce.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_TYPE

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako COLUMN_NAME, s tím rozdílem, že toto makro přebírá také datový typ.

Syntaxe

COLUMN_NAME_TYPE(pszName, wType, data)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

wType
[v] Datový typ.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_TYPE_PS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako u COLUMN_NAME s tím rozdílem, že toto makro také přebírá datový typ, přesnost a měřítko.

Syntaxe

COLUMN_NAME_TYPE_PS(pszName, wType, nPrecision, nScale, data)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

wType
[v] Datový typ.

nPrecision
[v] Maximální přesnost, která se má použít při získávání dat a wType je DBTYPE_NUMERIC. Jinak se tento parametr ignoruje.

nŠkálování
[v] Měřítko, které se má použít při získávání dat a wType je DBTYPE_NUMERIC nebo DBTYPE_DECIMAL.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_TYPE_SIZE

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobně jako u COLUMN_NAME s tím rozdílem, že toto makro také přebírá datový typ a velikost.

Syntaxe

COLUMN_NAME_TYPE_SIZE(pszName, wType, nLength, data)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

wType
[v] Datový typ.

nLength
[v] Velikost dat v bajtech.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

COLUMN_NAME_TYPE_STATUS

Představuje vazbu sady řádků na konkrétní sloupec v sadě řádků. Podobá se COLUMN_NAME s tím rozdílem, že toto makro přebírá také datový typ a stav sloupce.

Syntaxe

COLUMN_NAME_TYPE_STATUS(pszName, wType, status, data)

Parametry

pszName
[v] Ukazatel na název sloupce. Název musí být řetězec Unicode. Můžete toho dosáhnout tak, že před název vložíte "L", například: L"MyColumn".

wType
[v] Datový typ.

status
[v] Proměnná, která se má svázat se stavem sloupce.

data
[v] Odpovídající datový člen v záznamu uživatele.

Poznámky

Informace o tom, kde se používají makra COLUMN_NAME_*, najdete v COLUMN_NAME .

END_COLUMN_MAP

Označí konec položek mapování sloupců.

Syntaxe

END_COLUMN_MAP()

Poznámky

Používá se s jedním příslušenstvím v sadě řádků. Makro BEGIN_COLUMN_MAP se dokončí s END_COLUMN_MAP makrem.

Příklad

Viz BEGIN_COLUMN_MAP.

DEFINE_COMMAND

Určuje příkaz, který se použije k vytvoření sady řádků při použití CCommand třídy. Přijímá pouze typy řetězců odpovídající zadanému typu aplikace (ANSI nebo Unicode).

Poznámka:

Místo DEFINE_COMMAND se doporučuje používat DEFINE_COMMAND_EX .

Syntaxe

DEFINE_COMMAND(x, szCommand)

Parametry

x
[v] Název třídy záznamu uživatele (command).

szCommand
[v] Řetězec příkazu, který se použije k vytvoření sady řádků při použití CCommand.

Poznámky

Zadaný řetězec příkazu se použije jako výchozí, pokud nezadáte text příkazu v metodě CCommand::Open .

Toto makro přijímá řetězce ANSI, pokud aplikaci sestavíte jako řetězce ANSI nebo Unicode, pokud sestavíte aplikaci jako Unicode. Doporučujeme místo DEFINE_COMMAND používat DEFINE_COMMAND_EX , protože první přijímá řetězce Unicode bez ohledu na typ aplikace ANSI nebo Unicode.

Příklad

Viz BOOKMARK_ENTRY.

DEFINE_COMMAND_EX

Určuje příkaz, který se použije k vytvoření sady řádků při použití CCommand třídy. Podporuje aplikace Unicode a ANSI.

Syntaxe

DEFINE_COMMAND_EX(x, wszCommand)

Parametry

x
[v] Název třídy záznamu uživatele (command).

wszCommand
[v] Řetězec příkazu, který se použije k vytvoření sady řádků při použití CCommand.

Poznámky

Zadaný řetězec příkazu se použije jako výchozí, pokud nezadáte text příkazu v metodě CCommand::Open .

Toto makro přijímá řetězce Unicode bez ohledu na typ aplikace. Toto makro se upřednostňuje před DEFINE_COMMAND , protože podporuje kódování Unicode i aplikace ANSI.

Příklad

Viz BOOKMARK_ENTRY.

BEGIN_PARAM_MAP

Označí začátek položek mapování parametrů.

Syntaxe

BEGIN_PARAM_MAP(x)

Parametry

x
[v] Název třídy záznamu uživatele.

Poznámky

Parametry se používají příkazy.

Příklad

Podívejte se na příklad makra BEGIN_COLUMN_MAP .

END_PARAM_MAP

Označí konec položek mapování parametrů.

Syntaxe

END_PARAM_MAP()

Příklad

Podívejte se na příklad makra BEGIN_PARAM_MAP .

SET_PARAM_TYPE

Určuje COLUMN_ENTRY makra, která se řídí SET_PARAM_TYPE vstupem, výstupem nebo vstupem nebo výstupem makra.

Syntaxe

SET_PARAM_TYPE(type)

Parametry

type
[v] Typ, který se má pro parametr nastavit.

Poznámky

Poskytovatelé podporují pouze vstupní a výstupní typy parametrů podporované podkladovým zdrojem dat. Typ je kombinací jedné nebo více DBPARAMIO hodnot (viz DBBINDING Structures in the OLE DB Programmer's Reference):

  • DBPARAMIO_NOTPARAM Příslušenství nemá žádné parametry. Obvykle nastavíte eParamIO tuto hodnotu v přístupových objektech řádků, abyste uživateli připomněli, že parametry jsou ignorovány.

  • DBPARAMIO_INPUT Vstupní parametr.

  • DBPARAMIO_OUTPUT Výstupní parametr.

  • DBPARAMIO_INPUT | DBPARAMIO_OUTPUT Parametr je vstupní i výstupní parametr.

Příklad

class CArtistsProperty
{
public:
   short m_nReturn;
   short m_nAge;
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];

BEGIN_PARAM_MAP(CArtistsProperty)
   SET_PARAM_TYPE(DBPARAMIO_OUTPUT)
   COLUMN_ENTRY(1, m_nReturn)
   SET_PARAM_TYPE(DBPARAMIO_INPUT)
   COLUMN_ENTRY(2, m_nAge)
END_PARAM_MAP()

BEGIN_COLUMN_MAP(CArtistsProperty)
   COLUMN_ENTRY(1, m_szFirstName)
   COLUMN_ENTRY(2, m_szLastName)
END_COLUMN_MAP()

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsProperty, L" \
      { ? = SELECT Age FROM Artists WHERE Age < ? }")
};

Požadavky

Hlavička: atldbcli.h

Viz také

Makra a globální funkce pro šablony příjemců OLE DB
Šablony příjemců OLE DB
Referenční dokumentace k šablonám příjemců OLE DB