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 true
je příslušenství automatické; pokud false
je 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íteeParamIO
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