Makra i funkcje globalne dla szablonów konsumentów OLE DB
Szablony konsumentów OLE DB obejmują następujące makra i funkcje globalne:
Funkcje globalne
Nazwa/nazwisko | opis |
---|---|
AtlTraceErrorRecords | Zrzuty informacje o rekordzie błędu OLE DB do urządzenia zrzutu, jeśli zostanie zwrócony błąd. |
Makra mapy dostępu
Nazwa/nazwisko | opis |
---|---|
BEGIN_ACCESSOR | Oznacza początek wpisu dostępu. |
BEGIN_ACCESSOR_MAP | Oznacza początek wpisów mapy dostępu. |
END_ACCESSOR | Oznacza koniec wpisu dostępu. |
END_ACCESSOR_MAP | Oznacza koniec wpisów mapy dostępu. |
Makra mapy kolumn
Nazwa/nazwisko | opis |
---|---|
BEGIN_COLUMN_MAP | Oznacza początek wpisów mapy kolumn w klasie rekordów użytkownika. |
BLOB_ENTRY | Służy do powiązania binarnego dużego obiektu (BLOB). |
BLOB_ENTRY_LENGTH | Raportuje długość kolumny danych obiektu BLOB. |
BLOB_ENTRY_LENGTH_STATUS | Raportuje długość i stan kolumny danych obiektu BLOB. |
BLOB_ENTRY_STATUS | Raportuje stan kolumny danych obiektu BLOB. |
BLOB_NAME | Służy do powiązania dużego obiektu binarnego według nazwy kolumny. |
BLOB_NAME_LENGTH | Raportuje długość kolumny danych obiektu BLOB. |
BLOB_NAME_LENGTH_STATUS | Raportuje długość i stan kolumny danych obiektu BLOB. |
BLOB_NAME_STATUS | Raportuje stan kolumny danych obiektu BLOB. |
BOOKMARK_ENTRY | Reprezentuje wpis zakładki w zestawie wierszy. Wpis zakładki jest specjalnym rodzajem wpisu kolumny. |
COLUMN_ENTRY | Reprezentuje powiązanie z określoną kolumną w bazie danych. |
COLUMN_ENTRY_EX | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry typu, długości, dokładności, skalowania i stanu. |
COLUMN_ENTRY_LENGTH | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje zmienną długości . |
COLUMN_ENTRY_LENGTH_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry stanu i długości . |
COLUMN_ENTRY_PS | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry dokładności i skalowania . |
COLUMN_ENTRY_PS_LENGTH | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry zmiennej długości , dokładności i skali . |
COLUMN_ENTRY_PS_LENGTH_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje zmienne stanu i długości , precyzję i parametry skalowania . |
COLUMN_ENTRY_PS_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje zmienne stanu, precyzję i parametry skalowania. |
COLUMN_ENTRY_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje zmienną stanu . |
COLUMN_ENTRY_TYPE | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametr typu . |
COLUMN_ENTRY_TYPE_SIZE | Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry typu i rozmiaru . |
COLUMN_NAME | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. |
COLUMN_NAME_EX | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację typu danych, rozmiaru, dokładności, skali, długości kolumny i stanu kolumny. |
COLUMN_NAME_LENGTH | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację długości kolumny. |
COLUMN_NAME_LENGTH_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację długości i stanu kolumny. |
COLUMN_NAME_PS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację dokładności i skali. |
COLUMN_NAME_PS_LENGTH | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację dokładności, skali i długości kolumny. |
COLUMN_NAME_PS_LENGTH_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację dokładności, skali, długości kolumny i stanu kolumny. |
COLUMN_NAME_PS_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację dokładności, skalowania i stanu kolumny. |
COLUMN_NAME_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację stanu kolumny. |
COLUMN_NAME_TYPE | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację typu danych. |
COLUMN_NAME_TYPE_PS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację typu danych, precyzji i skali. |
COLUMN_NAME_TYPE_SIZE | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację typu i rozmiaru danych. |
COLUMN_NAME_TYPE_STATUS | Reprezentuje powiązanie z określoną kolumną w bazie danych według nazwy. Obsługuje specyfikację typu danych i stanu kolumny. |
END_COLUMN_MAP | Oznacza koniec wpisów mapy kolumny. |
Makra poleceń
Nazwa/nazwisko | opis |
---|---|
DEFINE_COMMAND | Określa polecenie, które będzie używane do tworzenia zestawu wierszy podczas korzystania z klasy CCommand . Akceptuje tylko typy ciągów pasujące do określonego typu aplikacji (ANSI lub Unicode). Zaleca się użycie DEFINE_COMMAND_EX zamiast DEFINE_COMMAND. |
DEFINE_COMMAND_EX | Określa polecenie, które będzie używane do tworzenia zestawu wierszy podczas korzystania z klasy CCommand . Obsługuje aplikacje ANSI i Unicode. |
Makra mapy parametrów
Nazwa/nazwisko | opis |
---|---|
BEGIN_PARAM_MAP | Oznacza początek wpisów mapy parametrów w klasie rekordów użytkownika. |
END_PARAM_MAP | Oznacza koniec wpisów mapy parametrów. |
SET_PARAM_TYPE | Określa COLUMN_ENTRY makra, które są zgodne z makrem SET_PARAM_TYPE jako dane wejściowe, wyjściowe lub wejściowe/wyjściowe. |
AtlTraceErrorRecords
Zrzuty informacje o rekordzie błędu OLE DB do urządzenia zrzutu, jeśli zostanie zwrócony błąd.
Składnia
inline void AtlTraceErrorRecords(HRESULT hrErr = S_OK);
Parametry
Herr
[in] HrESULT zwrócony przez funkcję składową szablonu użytkownika OLE DB.
Uwagi
Jeśli hErr nie jest S_OK, AtlTraceErrorRecords
zrzuty informacje o rekordzie błędu OLE DB na urządzeniu zrzutu ( karta Debugowanie okna Dane wyjściowe lub plik). Informacje o rekordzie błędu uzyskane od dostawcy obejmują numer wiersza, źródło, opis, plik pomocy, kontekst i identyfikator GUID dla każdego wpisu rekordu błędu. AtlTraceErrorRecords
zrzuty tych informacji tylko w kompilacjach debugowania. W kompilacjach wydania jest to pusty wycink, który jest zoptymalizowany. Aby uzyskać więcej informacji, zobacz CdBErrorInfo Class (Klasa CDBErrorInfo).
BEGIN_ACCESSOR
Oznacza początek wpisu dostępu.
Składnia
BEGIN_ACCESSOR(num, bAuto)
Parametry
Num
[in] Numer przesunięcia zerowego dla metody dostępu na tej mapie dostępu.
bAuto
[in] Określa, czy ta akcesorium jest akcesorem automatycznym lub ręcznym akcesorem. Jeśli true
, akcesor jest automatyczny; jeśli false
, akcesor jest ręczny. Automatyczne akcesorium oznacza, że dane są pobierane na potrzeby operacji przenoszenia.
Uwagi
W przypadku wielu metod dostępu w zestawie wierszy należy określić BEGIN_ACCESSOR_MAP i użyć makra BEGIN_ACCESSOR dla poszczególnych metod dostępu. Makro BEGIN_ACCESSOR zostało ukończone przy użyciu makra END_ACCESSOR. Makro BEGIN_ACCESSOR_MAP zostało ukończone przy użyciu makra END_ACCESSOR_MAP.
Przykład
Zobacz BEGIN_ACCESSOR_MAP.
BEGIN_ACCESSOR_MAP
Oznacza początek wpisów mapy dostępu.
Składnia
BEGIN_ACCESSOR_MAP(x, num)
Parametry
x
[in] Nazwa klasy rekordu użytkownika.
Num
[in] Liczba metod dostępu na tej mapie akcesoriów.
Uwagi
W przypadku wielu metod dostępu w zestawie wierszy należy określić BEGIN_ACCESSOR_MAP na początku i użyć makra BEGIN_ACCESSOR dla każdego elementu dostępu. Makro BEGIN_ACCESSOR zostało ukończone przy użyciu makra END_ACCESSOR. Mapa dostępu została ukończona przy użyciu makra END_ACCESSOR_MAP.
Jeśli w rekordzie użytkownika masz tylko jedną metodę dostępu, użyj BEGIN_COLUMN_MAP makra.
Przykład
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
Oznacza koniec wpisu dostępu.
Składnia
END_ACCESSOR()
Uwagi
W przypadku wielu metod dostępu w zestawie wierszy należy określić BEGIN_ACCESSOR_MAP i użyć makra BEGIN_ACCESSOR dla poszczególnych metod dostępu. Makro BEGIN_ACCESSOR zostało ukończone przy użyciu makra END_ACCESSOR. Makro BEGIN_ACCESSOR_MAP zostało ukończone przy użyciu makra END_ACCESSOR_MAP.
Przykład
Zobacz BEGIN_ACCESSOR_MAP.
END_ACCESSOR_MAP
Oznacza koniec wpisów mapy dostępu.
Składnia
END_ACCESSOR_MAP()
Uwagi
W przypadku wielu metod dostępu w zestawie wierszy należy określić BEGIN_ACCESSOR_MAP i użyć makra BEGIN_ACCESSOR dla poszczególnych metod dostępu. Makro BEGIN_ACCESSOR zostało ukończone przy użyciu makra END_ACCESSOR. Makro BEGIN_ACCESSOR_MAP zostało ukończone przy użyciu makra END_ACCESSOR_MAP.
Przykład
Zobacz BEGIN_ACCESSOR_MAP.
BEGIN_COLUMN_MAP
Oznacza początek wpisu mapy kolumny.
Składnia
BEGIN_COLUMN_MAP(x)
Parametry
x
[in] Nazwa klasy rekordów użytkownika pochodząca z CAccessor
klasy .
Uwagi
To makro jest używane w przypadku pojedynczego dostępu w zestawie wierszy. Jeśli masz wiele metod dostępu w zestawie wierszy, użyj BEGIN_ACCESSOR_MAP.
Makro BEGIN_COLUMN_MAP zostało ukończone przy użyciu makra END_COLUMN_MAP. To makro jest używane, gdy w rekordzie użytkownika jest wymagany tylko jeden element dostępu.
Kolumny odpowiadają polam w zestawie wierszy, które chcesz powiązać.
Przykład
Oto przykładowa kolumna i mapa parametrów:
BLOB_ENTRY
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB).
Składnia
BLOB_ENTRY(nOrdinal, IID, flags, data)
Parametry
nOrdinal
[in] Numer kolumny.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Przykład
Zobacz Jak mogę pobrać obiekt BLOB?.
BLOB_ENTRY_LENGTH
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_ENTRY, z tą różnicą, że to makro również pobiera długość w bajtach kolumny OBIEKTU BLOB.
Składnia
BLOB_ENTRY_LENGTH(nOrdinal, IID, flags, data, length)
Parametry
nOrdinal
[in] Numer kolumny.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[out] (rzeczywista) długość w bajtach kolumny BLOB.
Przykład
Zobacz Jak mogę pobrać obiekt BLOB?.
BLOB_ENTRY_LENGTH_STATUS
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_ENTRY, z tą różnicą, że to makro również pobiera długość i stan kolumny BLOB.
Składnia
BLOB_ENTRY_LENGTH_STATUS(
nOrdinal,
IID,
flags,
data,
length,
status )
Parametry
nOrdinal
[in] Numer kolumny.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[out] (rzeczywista) długość w bajtach kolumny BLOB.
status
[out] Stan kolumny danych obiektu BLOB.
Przykład
Zobacz Jak mogę pobrać obiekt BLOB?.
BLOB_ENTRY_STATUS
Używany z BEGIN_COLUMN_MAP lub BEGIN_ACCESSOR_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_ENTRY, z tą różnicą, że to makro również pobiera stan kolumny BLOB.
Składnia
BLOB_ENTRY_STATUS(nOrdinal, IID, flags, data, status)
Parametry
nOrdinal
[in] Numer kolumny.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[out] Stan pola BLOB.
Przykład
Zobacz Jak mogę pobrać obiekt BLOB?.
BLOB_NAME
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_ENTRY, z tą różnicą, że to makro przyjmuje nazwę kolumny zamiast numeru kolumny.
Składnia
BLOB_NAME(pszName, IID, flags, data )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Przykład
Zobacz Jak mogę pobrać obiekt BLOB?.
BLOB_NAME_LENGTH
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_NAME, z tą różnicą, że to makro również pobiera długość w bajtach kolumny danych obiektu BLOB.
Składnia
BLOB_NAME_LENGTH(pszName, IID, flags, data, length )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[out] (rzeczywista) długość w bajtach kolumny BLOB.
BLOB_NAME_LENGTH_STATUS
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_NAME, z tą różnicą, że to makro również pobiera długość i stan kolumny danych obiektu BLOB.
Składnia
BLOB_NAME_LENGTH_STATUS(pszName, IID, flags, data, length, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[out] (rzeczywista) długość w bajtach kolumny BLOB.
status
[out] Stan pola BLOB.
BLOB_NAME_STATUS
Używane z BEGIN_COLUMN_MAP i END_COLUMN_MAP do powiązania binarnego dużego obiektu (BLOB). Podobnie jak BLOB_NAME, z tą różnicą, że to makro również pobiera stan kolumny danych obiektu BLOB.
Składnia
BLOB_NAME_STATUS(pszName, IID, flags, data, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
Identyfikator IID
[in] Identyfikator GUID interfejsu, taki jak IDD_ISequentialStream
, używany do pobierania obiektu BLOB.
Flagi
[in] Flagi trybu przechowywania zdefiniowane przez model magazynu strukturalnego OLE (na przykład STGM_READ
).
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[out] Stan pola BLOB.
BOOKMARK_ENTRY
Wiąże kolumnę zakładki.
Składnia
BOOKMARK_ENTRY(variable)
Parametry
zmienna
[in] Zmienna, która ma być powiązana z kolumną zakładki.
Przykład
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")
};
Aby uzyskać więcej informacji, zobacz Using Bookmarks and CBookmark Class (Używanie zakładek i klasy CBookmark).
COLUMN_ENTRY
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy.
Składnia
COLUMN_ENTRY(nOrdinal, data)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Makro COLUMN_ENTRY jest używane w następujących miejscach:
Przykład
Zapoznaj się z przykładami w tematach makr, BEGIN_COLUMN_MAP i BEGIN_ACCESSOR_MAP.
COLUMN_ENTRY_EX
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_EX(nOrdinal, wType, nLength, nPrecision, nScale, data, length, status)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
wType
[in] Typ danych.
nLength
[in] Rozmiar danych w bajtach.
nPrecision
[in] Maksymalna precyzja używana podczas pobierania danych i typu to DBTYPE_NUMERIC
. W przeciwnym razie ten parametr jest ignorowany.
nScale
[in] Skala do użycia podczas pobierania danych i typu to DBTYPE_NUMERIC
lub DBTYPE_DECIMAL
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Makro COLUMN_ENTRY_EX jest używane w następujących miejscach:
Przykład
Zobacz BOOKMARK_ENTRY.
COLUMN_ENTRY_LENGTH
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_LENGTH(nOrdinal, data, length)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny, zaczynając od jednego. Zakładka odpowiada zerowi kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
Uwagi
To makro obsługuje zmienną długości . Jest on używany w następujących miejscach:
COLUMN_ENTRY_LENGTH_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_LENGTH_STATUS(nOrdinal, data, length, status)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Użyj tego makra, jeśli chcesz obsługiwać zmienne długości i stanu. Jest on używany w następujących miejscach:
COLUMN_ENTRY_PS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy.
Składnia
COLUMN_ENTRY_PS(nOrdinal, nPrecision, nScale, data)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Umożliwia określenie dokładności i skali kolumny, którą chcesz powiązać. Jest on używany w następujących miejscach:
COLUMN_ENTRY_PS_LENGTH
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_PS_LENGTH(nOrdinal, nPrecision, nScale, data, length)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny, zaczynając od jednego. Zakładka odpowiada zerowi kolumny.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
Uwagi
Umożliwia określenie dokładności i skali kolumny, którą chcesz powiązać. To makro obsługuje zmienną długości . Jest on używany w następujących miejscach:
COLUMN_ENTRY_PS_LENGTH_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_PS_LENGTH_STATUS(nOrdinal, nPrecision, nScale, data, length, status)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Umożliwia określenie dokładności i skali kolumny, którą chcesz powiązać. Użyj tego makra, jeśli chcesz obsługiwać zmienne długości i stanu. Jest on używany w następujących miejscach:
COLUMN_ENTRY_PS_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_PS_STATUS(nOrdinal, nPrecision, nScale, data, status)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Umożliwia określenie dokładności i skali kolumny, którą chcesz powiązać. To makro obsługuje zmienną stanu . Jest on używany w następujących miejscach:
COLUMN_ENTRY_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w bazie danych.
Składnia
COLUMN_ENTRY_STATUS(nOrdinal, data, status)
Parametry
Zobacz DBBINDING w dokumentacji programisty OLE DB.
nOrdinal
[in] Numer kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
To makro obsługuje zmienną stanu . Jest on używany w następujących miejscach:
COLUMN_ENTRY_TYPE
Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametr typu .
Składnia
COLUMN_ENTRY_TYPE (nOrdinal, wType, data)
Parametry
nOrdinal
[in] Numer kolumny.
wType
[in] Typ danych wpisu kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
To makro jest wyspecjalizowanym wariantem makra COLUMN_ENTRY , który zapewnia sposób określania typu danych.
COLUMN_ENTRY_TYPE_SIZE
Reprezentuje powiązanie z określoną kolumną w bazie danych. Obsługuje parametry typu i rozmiaru .
Składnia
COLUMN_ENTRY_TYPE_SIZE(nOrdinal, wType, nLength, data)
Parametry
nOrdinal
[in] Numer kolumny.
wType
[in] Typ danych wpisu kolumny.
nLength
[in] Rozmiar wpisu kolumny w bajtach.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
To makro jest wyspecjalizowanym wariantem makra COLUMN_ENTRY , które zapewnia sposób określania rozmiaru i typu danych.
COLUMN_NAME
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_ENTRY, z tą różnicą, że to makro przyjmuje nazwę kolumny zamiast numeru kolumny.
Składnia
COLUMN_NAME(pszName, data)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Makra COLUMN_NAME_* są używane w tych samych miejscach co COLUMN_ENTRY:
COLUMN_NAME_EX
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro przyjmuje również typ danych, rozmiar, precyzję, skalę, długość kolumny i stan kolumny.
Składnia
COLUMN_NAME_EX(pszName, wType, nLength, nPrecision, nScale, data, length, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
wType
[in] Typ danych.
nLength
[in] Rozmiar danych w bajtach.
nPrecision
[in] Maksymalna precyzja używana podczas pobierania danych i typu to DBTYPE_NUMERIC
. W przeciwnym razie ten parametr jest ignorowany.
nScale
[in] Skala do użycia podczas pobierania danych i typu to DBTYPE_NUMERIC
lub DBTYPE_DECIMAL
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_LENGTH
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro również ma długość kolumny.
Składnia
COLUMN_NAME_LENGTH(pszName, data, length)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_LENGTH_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również długość kolumny i stan kolumny.
Składnia
COLUMN_NAME_LENGTH_STATUS(pszName, data, length, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_PS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również precyzję i skalę.
Składnia
COLUMN_NAME_PS(pszName, nPrecision, nScale, data )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_PS_LENGTH
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również dokładność, skalę i długość kolumny.
Składnia
COLUMN_NAME_PS_LENGTH(pszName, nPrecision, nScale, data, length )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_PS_LENGTH_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również dokładność, skalę, długość kolumny i stan kolumny.
Składnia
COLUMN_NAME_PS_LENGTH_STATUS(pszName, nPrecision, nScale, data, length, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
length
[in] Zmienna, która ma być powiązana z długością kolumny.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_PS_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również stan dokładności, skalowania i kolumny.
Składnia
COLUMN_NAME_PS_STATUS(pszName, nPrecision, nScale, data, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
nPrecision
[in] Maksymalna precyzja kolumny, którą chcesz powiązać.
nScale
[in] Skala kolumny, którą chcesz powiązać.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro ma również stan kolumny.
Składnia
COLUMN_NAME_STATUS(pszName, data, status )
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_TYPE
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro również przyjmuje typ danych.
Składnia
COLUMN_NAME_TYPE(pszName, wType, data)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
wType
[in] Typ danych.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_TYPE_PS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro również przyjmuje typ danych, precyzję i skalę.
Składnia
COLUMN_NAME_TYPE_PS(pszName, wType, nPrecision, nScale, data)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
wType
[in] Typ danych.
nPrecision
[in] Maksymalna precyzja używana podczas pobierania danych i typu to DBTYPE_NUMERIC
. W przeciwnym razie ten parametr jest ignorowany.
nScale
[in] Skala do użycia podczas pobierania danych i typu to DBTYPE_NUMERIC
lub DBTYPE_DECIMAL
.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_TYPE_SIZE
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro również przyjmuje typ i rozmiar danych.
Składnia
COLUMN_NAME_TYPE_SIZE(pszName, wType, nLength, data)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
wType
[in] Typ danych.
nLength
[in] Rozmiar danych w bajtach.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
COLUMN_NAME_TYPE_STATUS
Reprezentuje powiązanie zestawu wierszy z określoną kolumną w zestawie wierszy. Podobnie jak COLUMN_NAME, z tą różnicą, że to makro również przyjmuje stan danych i kolumny.
Składnia
COLUMN_NAME_TYPE_STATUS(pszName, wType, status, data)
Parametry
pszName
[in] Wskaźnik do nazwy kolumny. Nazwa musi być ciągiem Unicode. Można to zrobić, umieszczając "L" przed nazwą, na przykład: L"MyColumn"
.
wType
[in] Typ danych.
status
[in] Zmienna, która ma być powiązana ze stanem kolumny.
data
[in] Odpowiedni element członkowski danych w rekordzie użytkownika.
Uwagi
Aby uzyskać informacje o tym, gdzie są używane makra COLUMN_NAME_*, zobacz COLUMN_NAME .
END_COLUMN_MAP
Oznacza koniec wpisów mapy kolumny.
Składnia
END_COLUMN_MAP()
Uwagi
Jest on używany z jednym akcesorem w zestawie wierszy. Makro BEGIN_COLUMN_MAP zostało ukończone przy użyciu makra END_COLUMN_MAP.
Przykład
Zobacz BEGIN_COLUMN_MAP.
DEFINE_COMMAND
Określa polecenie, które będzie używane do tworzenia zestawu wierszy podczas korzystania z klasy CCommand . Akceptuje tylko typy ciągów pasujące do określonego typu aplikacji (ANSI lub Unicode).
Uwaga
Zaleca się użycie DEFINE_COMMAND_EX zamiast DEFINE_COMMAND.
Składnia
DEFINE_COMMAND(x, szCommand)
Parametry
x
[in] Nazwa klasy rekordu użytkownika (polecenia).
szCommand
[in] Ciąg polecenia, który będzie używany do tworzenia zestawu wierszy podczas korzystania z polecenia CCommand.
Uwagi
Określony ciąg polecenia będzie używany jako domyślny, jeśli nie określisz tekstu polecenia w metodzie CCommand::Open .
To makro akceptuje ciągi ANSI, jeśli tworzysz aplikację jako ANSI lub ciągi Unicode, jeśli tworzysz aplikację jako Unicode. Zaleca się używanie DEFINE_COMMAND_EX zamiast DEFINE_COMMAND, ponieważ były akceptuje ciągi Unicode, niezależnie od typu aplikacji ANSI lub Unicode.
Przykład
Zobacz BOOKMARK_ENTRY.
DEFINE_COMMAND_EX
Określa polecenie, które będzie używane do tworzenia zestawu wierszy podczas korzystania z klasy CCommand . Obsługuje aplikacje Unicode i ANSI.
Składnia
DEFINE_COMMAND_EX(x, wszCommand)
Parametry
x
[in] Nazwa klasy rekordu użytkownika (polecenia).
wszCommand
[in] Ciąg polecenia, który będzie używany do tworzenia zestawu wierszy podczas korzystania z polecenia CCommand.
Uwagi
Określony ciąg polecenia będzie używany jako domyślny, jeśli nie określisz tekstu polecenia w metodzie CCommand::Open .
To makro akceptuje ciągi Unicode niezależnie od typu aplikacji. To makro jest preferowane w przypadku DEFINE_COMMAND , ponieważ obsługuje kod Unicode, a także aplikacje ANSI.
Przykład
Zobacz BOOKMARK_ENTRY.
BEGIN_PARAM_MAP
Oznacza początek wpisów mapy parametrów.
Składnia
BEGIN_PARAM_MAP(x)
Parametry
x
[in] Nazwa klasy rekordu użytkownika.
Uwagi
Parametry są używane przez polecenia.
Przykład
Zobacz przykład makra BEGIN_COLUMN_MAP .
END_PARAM_MAP
Oznacza koniec wpisów mapy parametrów.
Składnia
END_PARAM_MAP()
Przykład
Zobacz przykład makra BEGIN_PARAM_MAP .
SET_PARAM_TYPE
Określa COLUMN_ENTRY makr, które są zgodne z SET_PARAM_TYPE dane wejściowe, wyjściowe lub wejściowe/wyjściowe.
Składnia
SET_PARAM_TYPE(type)
Parametry
type
[in] Typ, który ma być ustawiony dla parametru.
Uwagi
Dostawcy obsługują tylko typy danych wejściowych/wyjściowych parametrów obsługiwanych przez bazowe źródło danych. Typ jest kombinacją co najmniej jednej DBPARAMIO
wartości (zobacz DBBINDING Structures w dokumentacji programisty OLE DB):
DBPARAMIO_NOTPARAM
Akcesorium nie ma parametrów. Zazwyczaj ustawionoeParamIO
tę wartość w elementach dostępu wiersza, aby przypomnieć użytkownikowi, że parametry są ignorowane.DBPARAMIO_INPUT
Parametr wejściowy.DBPARAMIO_OUTPUT
Parametr wyjściowy.DBPARAMIO_INPUT | DBPARAMIO_OUTPUT
Parametr jest zarówno parametrem wejściowym, jak i wyjściowym.
Przykład
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 < ? }")
};
Wymagania
Nagłówek: atldbcli.h
Zobacz też
Makra i funkcje globalne dla szablonów konsumentów OLE DB
Szablony konsumentów OLE DB
Szablony konsumentów OLE DB — dokumentacja