Makros und globale Funktionen für OLE-Consumervorlagen
Die OLE DB Consumer Templates umfassen die folgenden Makros und globalen Funktionen:
Globale Funktionen
Name | Beschreibung |
---|---|
AtlTraceErrorRecords | Dumps OLE DB Error Record information to the dump device if an error is returned. |
Accessorzuordnungsmakros
Name | Beschreibung |
---|---|
BEGIN_ACCESSOR | Markiert den Anfang eines Accessor-Eintrags. |
BEGIN_ACCESSOR_MAP | Markiert den Beginn der Accessor-Zuordnungseinträge. |
END_ACCESSOR | Markiert das Ende eines Accessor-Eintrags. |
END_ACCESSOR_MAP | Markiert das Ende der Accessorzuordnungseinträge. |
Spaltenzuordnungsmakros
Name | Beschreibung |
---|---|
BEGIN_COLUMN_MAP | Markiert den Anfang der Spaltenzuordnungseinträge in der Benutzerdatensatzklasse. |
BLOB_ENTRY | Wird verwendet, um ein binäres großes Objekt (BLOB) zu binden. |
BLOB_ENTRY_LENGTH | Meldet die Länge der BLOB-Datenspalte. |
BLOB_ENTRY_LENGTH_STATUS | Meldet die Länge und den Status der BLOB-Datenspalte. |
BLOB_ENTRY_STATUS | Meldet den Status der BLOB-Datenspalte. |
BLOB_NAME | Wird verwendet, um ein binäres großes Objekt nach Spaltennamen zu binden. |
BLOB_NAME_LENGTH | Meldet die Länge der BLOB-Datenspalte. |
BLOB_NAME_LENGTH_STATUS | Meldet die Länge und den Status der BLOB-Datenspalte. |
BLOB_NAME_STATUS | Meldet den Status der BLOB-Datenspalte. |
BOOKMARK_ENTRY | Stellt einen Textmarkeneintrag für das Rowset dar. Ein Textmarkeneintrag ist eine spezielle Art von Spalteneintrag. |
COLUMN_ENTRY | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank dar. |
COLUMN_ENTRY_EX | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Typ-, Längen-, Genauigkeits-, Skalierungs- und Statusparameter . |
COLUMN_ENTRY_LENGTH | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt die Längenvariable . |
COLUMN_ENTRY_LENGTH_STATUS | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Status - und Längenparameter . |
COLUMN_ENTRY_PS | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Genauigkeits - und Skalierungsparameter . |
COLUMN_ENTRY_PS_LENGTH | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt die Längenvariablen , Genauigkeits - und Skalierungsparameter . |
COLUMN_ENTRY_PS_LENGTH_STATUS | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Status - und Längenvariablen , Genauigkeits - und Skalierungsparameter . |
COLUMN_ENTRY_PS_STATUS | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt die Statusvariable , Genauigkeits - und Skalierungsparameter . |
COLUMN_ENTRY_STATUS | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt die Statusvariable . |
COLUMN_ENTRY_TYPE | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank dar. Unterstützt typparameter . |
COLUMN_ENTRY_TYPE_SIZE | Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Typ - und Größenparameter . |
COLUMN_NAME | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. |
COLUMN_NAME_EX | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation von Datentyp, Größe, Genauigkeit, Skalierung, Spaltenlänge und Spaltenstatus. |
COLUMN_NAME_LENGTH | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation der Spaltenlänge. |
COLUMN_NAME_LENGTH_STATUS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation der Spaltenlänge und des Status. |
COLUMN_NAME_PS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation von Genauigkeit und Skalierung. |
COLUMN_NAME_PS_LENGTH | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation von Genauigkeit, Skalierung und Spaltenlänge. |
COLUMN_NAME_PS_LENGTH_STATUS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation von Genauigkeit, Skalierung, Spaltenlänge und Spaltenstatus. |
COLUMN_NAME_PS_STATUS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation des Genauigkeits-, Skalierungs- und Spaltenstatus. |
COLUMN_NAME_STATUS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation des Spaltenstatus. |
COLUMN_NAME_TYPE | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation des Datentyps. |
COLUMN_NAME_TYPE_PS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation von Datentyp, Genauigkeit und Skalierung. |
COLUMN_NAME_TYPE_SIZE | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation des Datentyps und der Größe. |
COLUMN_NAME_TYPE_STATUS | Stellt eine Bindung an eine bestimmte Spalte in der Datenbank anhand des Namens dar. Unterstützt die Spezifikation des Datentyps und des Spaltenstatus. |
END_COLUMN_MAP | Markiert das Ende der Spaltenzuordnungseinträge. |
Befehlsmakros
Name | Beschreibung |
---|---|
DEFINE_COMMAND | Gibt den Befehl an, der zum Erstellen des Rowsets bei Verwendung der CCommand-Klasse verwendet wird. Akzeptiert nur Zeichenfolgentypen, die dem angegebenen Anwendungstyp (ANSI oder Unicode) entsprechen. Es wird empfohlen, DEFINE_COMMAND_EX anstelle von DEFINE_COMMAND zu verwenden. |
DEFINE_COMMAND_EX | Gibt den Befehl an, der zum Erstellen des Rowsets bei Verwendung der CCommand-Klasse verwendet wird. Unterstützt ANSI- und Unicode-Anwendungen. |
Parameterzuordnungsmakros
Name | Beschreibung |
---|---|
BEGIN_PARAM_MAP | Markiert den Anfang der Parameterzuordnungseinträge in der Benutzerdatensatzklasse. |
END_PARAM_MAP | Markiert das Ende der Parameterzuordnungseinträge. |
SET_PARAM_TYPE | Gibt COLUMN_ENTRY Makros an, die dem SET_PARAM_TYPE Makros als Eingabe, Ausgabe oder Eingabe/Ausgabe folgen. |
AtlTraceErrorRecords
Dumps OLE DB Error Record information to the dump device if an error is returned.
Syntax
inline void AtlTraceErrorRecords(HRESULT hrErr = S_OK);
Parameter
hErr
[in] Ein HRESULT, das von einer OLE DB Consumer Template-Memberfunktion zurückgegeben wird.
Hinweise
Wenn hErr nicht S_OK ist, AtlTraceErrorRecords
dumpt OLE DB-Fehlerdatensatzinformationen auf dem Speicherabbildgerät (die Registerkarte "Debuggen " des Ausgabefensters oder einer Datei). Die Fehlerdatensatzinformationen, die vom Anbieter abgerufen werden, umfassen Zeilennummer, Quelle, Beschreibung, Hilfedatei, Kontext und GUID für jeden Fehlerdatensatzeintrag. AtlTraceErrorRecords
Dumps this information only in debug builds. In Releasebuilds ist es ein leerer Stub, der optimiert ist. Weitere Informationen finden Sie unter CDBErrorInfo-Klasse.
BEGIN_ACCESSOR
Markiert den Anfang eines Accessor-Eintrags.
Syntax
BEGIN_ACCESSOR(num, bAuto)
Parameter
num
[in] Die Nulloffsetnummer für den Accessor in dieser Accessorzuordnung.
bAuto
[in] Gibt an, ob es sich bei diesem Accessor um einen automatischen Accessor oder einen manuellen Accessor handelt. Wenn der Accessor automatisch ist; wenn true
false
, ist der Accessor manuell. Ein automatischer Accessor bedeutet, dass Daten für Sie bei Verschiebungsvorgängen abgerufen werden.
Hinweise
Bei mehreren Accessoren in einem Rowset müssen Sie BEGIN_ACCESSOR_MAP angeben und das BEGIN_ACCESSOR Makro für jeden einzelnen Accessor verwenden. Das BEGIN_ACCESSOR Makro wird mit dem END_ACCESSOR Makro abgeschlossen. Das BEGIN_ACCESSOR_MAP Makro wird mit dem END_ACCESSOR_MAP Makro abgeschlossen.
Beispiel
Siehe BEGIN_ACCESSOR_MAP.
BEGIN_ACCESSOR_MAP
Markiert den Beginn der Accessor-Zuordnungseinträge.
Syntax
BEGIN_ACCESSOR_MAP(x, num)
Parameter
x
[in] Der Name der Benutzerdatensatzklasse.
num
[in] Die Anzahl der Accessoren in dieser Accessorzuordnung.
Hinweise
Bei mehreren Accessoren in einem Rowset müssen Sie BEGIN_ACCESSOR_MAP am Anfang angeben und das BEGIN_ACCESSOR Makro für jeden einzelnen Accessor verwenden. Das BEGIN_ACCESSOR Makro wird mit dem END_ACCESSOR Makro abgeschlossen. Die Accessorzuordnung wird mit dem END_ACCESSOR_MAP Makro abgeschlossen.
Wenn es nur einen Accessor im Benutzerdatensatz gibt, verwenden Sie das Makro BEGIN_COLUMN_MAP.
Beispiel
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
Markiert das Ende eines Accessor-Eintrags.
Syntax
END_ACCESSOR()
Hinweise
Für mehrere Accessoren in einem Rowset müssen Sie BEGIN_ACCESSOR_MAP angeben und das BEGIN_ACCESSOR Makro für jeden einzelnen Accessor verwenden. Das BEGIN_ACCESSOR Makro wird mit dem END_ACCESSOR Makro abgeschlossen. Das BEGIN_ACCESSOR_MAP Makro wird mit dem END_ACCESSOR_MAP Makro abgeschlossen.
Beispiel
Siehe BEGIN_ACCESSOR_MAP.
END_ACCESSOR_MAP
Markiert das Ende der Accessorzuordnungseinträge.
Syntax
END_ACCESSOR_MAP()
Hinweise
Für mehrere Accessoren in einem Rowset müssen Sie BEGIN_ACCESSOR_MAP angeben und das BEGIN_ACCESSOR Makro für jeden einzelnen Accessor verwenden. Das BEGIN_ACCESSOR Makro wird mit dem END_ACCESSOR Makro abgeschlossen. Das BEGIN_ACCESSOR_MAP Makro wird mit dem END_ACCESSOR_MAP Makro abgeschlossen.
Beispiel
Siehe BEGIN_ACCESSOR_MAP.
BEGIN_COLUMN_MAP
Kennzeichnet den Anfang eines Spaltenzuordnungseintrags.
Syntax
BEGIN_COLUMN_MAP(x)
Parameter
x
[in] Der Name der Benutzerdatensatzklasse, abgeleitet aus CAccessor
.
Hinweise
Dieses Makro wird im Fall eines einzelnen Accessors in einem Rowset verwendet. Wenn Sie über mehrere Accessoren in einem Rowset verfügen, verwenden Sie BEGIN_ACCESSOR_MAP.
Das BEGIN_COLUMN_MAP Makro wird mit dem END_COLUMN_MAP Makro abgeschlossen. Dieses Makro wird verwendet, wenn nur ein Accessor im Benutzerdatensatz erforderlich ist.
Spalten entsprechen den Feldern in dem Rowset, das Sie binden möchten.
Beispiel
Hier sehen Sie ein Beispiel für eine Spalten- und Parameterzuordnung:
BLOB_ENTRY
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden.
Syntax
BLOB_ENTRY(nOrdinal, IID, flags, data)
Parameter
nOrdinal
[in] Die Spaltennummer.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Beispiel
Erfahren Sie , wie kann ich ein BLOB abrufen?.
BLOB_ENTRY_LENGTH
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_ENTRY, mit der Ausnahme, dass dieses Makro auch die Länge in Byte der BLOB-Spalte erhält.
Syntax
BLOB_ENTRY_LENGTH(nOrdinal, IID, flags, data, length)
Parameter
nOrdinal
[in] Die Spaltennummer.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[out] Die (tatsächliche) Länge in Byte der BLOB-Spalte.
Beispiel
Erfahren Sie , wie kann ich ein BLOB abrufen?.
BLOB_ENTRY_LENGTH_STATUS
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_ENTRY erhält dieses Makro auch die Länge und den Status der BLOB-Spalte.
Syntax
BLOB_ENTRY_LENGTH_STATUS(
nOrdinal,
IID,
flags,
data,
length,
status )
Parameter
nOrdinal
[in] Die Spaltennummer.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[out] Die (tatsächliche) Länge in Byte der BLOB-Spalte.
status
[out] Der Status der BLOB-Datenspalte.
Beispiel
Erfahren Sie , wie kann ich ein BLOB abrufen?.
BLOB_ENTRY_STATUS
Wird mit BEGIN_COLUMN_MAP oder BEGIN_ACCESSOR_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_ENTRY, mit der Ausnahme, dass dieses Makro auch den Status der BLOB-Spalte erhält.
Syntax
BLOB_ENTRY_STATUS(nOrdinal, IID, flags, data, status)
Parameter
nOrdinal
[in] Die Spaltennummer.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[out] Der Status des BLOB-Felds.
Beispiel
Erfahren Sie , wie kann ich ein BLOB abrufen?.
BLOB_NAME
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_ENTRY, mit der Ausnahme, dass dieses Makro anstelle einer Spaltennummer einen Spaltennamen verwendet.
Syntax
BLOB_NAME(pszName, IID, flags, data )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Beispiel
Erfahren Sie , wie kann ich ein BLOB abrufen?.
BLOB_NAME_LENGTH
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_NAME erhält dieses Makro auch die Länge in Bytes der BLOB-Datenspalte.
Syntax
BLOB_NAME_LENGTH(pszName, IID, flags, data, length )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[out] Die (tatsächliche) Länge in Byte der BLOB-Spalte.
BLOB_NAME_LENGTH_STATUS
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_NAME, mit der Ausnahme, dass dieses Makro auch die Länge und den Status der BLOB-Datenspalte erhält.
Syntax
BLOB_NAME_LENGTH_STATUS(pszName, IID, flags, data, length, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[out] Die (tatsächliche) Länge in Byte der BLOB-Spalte.
status
[out] Der Status des BLOB-Felds.
BLOB_NAME_STATUS
Wird mit BEGIN_COLUMN_MAP und END_COLUMN_MAP verwendet, um ein binäres großes Objekt (BLOB) zu binden. Ähnlich wie BLOB_NAME erhält dieses Makro auch den Status der BLOB-Datenspalte.
Syntax
BLOB_NAME_STATUS(pszName, IID, flags, data, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
IID
[in] Schnittstellen-GUID, z IDD_ISequentialStream
. B. zum Abrufen des BLOB.
flags
[in] Kennzeichnungen für den Speichermodus gemäß Definition des OLE-Strukturierten Speichermodells (z. B STGM_READ
. ).
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[out] Der Status des BLOB-Felds.
BOOKMARK_ENTRY
Bindet die Textmarkenspalte.
Syntax
BOOKMARK_ENTRY(variable)
Parameter
variable
[in] Die Variable, die an die Textmarkenspalte gebunden werden soll.
Beispiel
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")
};
Weitere Informationen finden Sie unter Verwenden von Lesezeichen und CBookmark-Klasse.
COLUMN_ENTRY
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar.
Syntax
COLUMN_ENTRY(nOrdinal, data)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Das COLUMN_ENTRY Makro wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
Beispiel
Sehen Sie sich die Beispiele in den Makrothemen, BEGIN_COLUMN_MAP und BEGIN_ACCESSOR_MAP an.
COLUMN_ENTRY_EX
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_EX(nOrdinal, wType, nLength, nPrecision, nScale, data, length, status)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
wType
[in] Der Datentyp.
nLength
[in] Die Datengröße in Byte.
nPrecision
[in] Die maximale Genauigkeit, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
. Andernfalls wird dieser Parameter ignoriert.
nScale
[in] Die Skalierung, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
oder DBTYPE_DECIMAL
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Das COLUMN_ENTRY_EX Makro wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
Beispiel
Siehe BOOKMARK_ENTRY.
COLUMN_ENTRY_LENGTH
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_LENGTH(nOrdinal, data, length)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer, beginnend mit einer. Textmarke entspricht Spalte Null.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
Hinweise
Dieses Makro unterstützt die Längenvariable . Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_LENGTH_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_LENGTH_STATUS(nOrdinal, data, length, status)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Verwenden Sie dieses Makro, wenn Sie Längen- und Statusvariablen unterstützen möchten. Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_PS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar.
Syntax
COLUMN_ENTRY_PS(nOrdinal, nPrecision, nScale, data)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Ermöglicht es Ihnen, die Genauigkeit und skalierung der Spalte anzugeben, die Sie binden möchten. Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_PS_LENGTH
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_PS_LENGTH(nOrdinal, nPrecision, nScale, data, length)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer, beginnend mit einer. Textmarke entspricht Spalte Null.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
Hinweise
Ermöglicht es Ihnen, die Genauigkeit und skalierung der Spalte anzugeben, die Sie binden möchten. Dieses Makro unterstützt die Längenvariable . Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_PS_LENGTH_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_PS_LENGTH_STATUS(nOrdinal, nPrecision, nScale, data, length, status)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Ermöglicht es Ihnen, die Genauigkeit und skalierung der Spalte anzugeben, die Sie binden möchten. Verwenden Sie dieses Makro, wenn Sie Längen- und Statusvariablen unterstützen möchten. Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_PS_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_PS_STATUS(nOrdinal, nPrecision, nScale, data, status)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Ermöglicht es Ihnen, die Genauigkeit und skalierung der Spalte anzugeben, die Sie binden möchten. Dieses Makro unterstützt die Statusvariable . Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte in der Datenbank dar.
Syntax
COLUMN_ENTRY_STATUS(nOrdinal, data, status)
Parameter
Siehe DBBINDING in der OLE DB-Programmierreferenz.
nOrdinal
[in] Die Spaltennummer.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Dieses Makro unterstützt die Statusvariable . Sie wird an folgenden Stellen verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_ENTRY_TYPE
Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt typparameter .
Syntax
COLUMN_ENTRY_TYPE (nOrdinal, wType, data)
Parameter
nOrdinal
[in] Die Spaltennummer.
wType
[in] Datentyp des Spalteneintrags.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Dieses Makro ist eine spezielle Variante des COLUMN_ENTRY Makros, das ein Mittel zum Angeben des Datentyps bereitstellt.
COLUMN_ENTRY_TYPE_SIZE
Stellt eine Bindung an die bestimmte Spalte in der Datenbank dar. Unterstützt Typ - und Größenparameter .
Syntax
COLUMN_ENTRY_TYPE_SIZE(nOrdinal, wType, nLength, data)
Parameter
nOrdinal
[in] Die Spaltennummer.
wType
[in] Datentyp des Spalteneintrags.
nLength
[in] Größe des Spalteneintrags in Byte.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Dieses Makro ist eine spezielle Variante des COLUMN_ENTRY-Makros , das eine Möglichkeit zum Angeben von Datengröße und -typ bietet.
COLUMN_NAME
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_ENTRY, mit der Ausnahme, dass dieses Makro den Spaltennamen anstelle der Spaltennummer verwendet.
Syntax
COLUMN_NAME(pszName, data)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Die COLUMN_NAME_*-Makros werden an den gleichen Stellen wie COLUMN_ENTRY verwendet:
Zwischen den makros BEGIN_COLUMN_MAP und END_COLUMN_MAP .
Zwischen den makros BEGIN_ACCESSOR und END_ACCESSOR .
Zwischen den makros BEGIN_PARAM_MAP und END_PARAM_MAP .
COLUMN_NAME_EX
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Datentyp, Größe, Genauigkeit, Skalierung, Spaltenlänge und Spaltenstatus verwendet.
Syntax
COLUMN_NAME_EX(pszName, wType, nLength, nPrecision, nScale, data, length, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
wType
[in] Der Datentyp.
nLength
[in] Die Datengröße in Byte.
nPrecision
[in] Die maximale Genauigkeit, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
. Andernfalls wird dieser Parameter ignoriert.
nScale
[in] Die Skalierung, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
oder DBTYPE_DECIMAL
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_LENGTH
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, mit der Ausnahme, dass dieses Makro auch die Spaltenlänge einnimmt.
Syntax
COLUMN_NAME_LENGTH(pszName, data, length)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_LENGTH_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Spaltenlänge und Spaltenstatus akzeptiert.
Syntax
COLUMN_NAME_LENGTH_STATUS(pszName, data, length, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_PS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Genauigkeit und Skalierung benötigt.
Syntax
COLUMN_NAME_PS(pszName, nPrecision, nScale, data )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_PS_LENGTH
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Genauigkeit, Skalierung und Spaltenlänge benötigt.
Syntax
COLUMN_NAME_PS_LENGTH(pszName, nPrecision, nScale, data, length )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_PS_LENGTH_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Genauigkeit, Skalierung, Spaltenlänge und Spaltenstatus akzeptiert.
Syntax
COLUMN_NAME_PS_LENGTH_STATUS(pszName, nPrecision, nScale, data, length, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
length
[in] Die Variable, die an die Spaltenlänge gebunden werden soll.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_PS_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Genauigkeit, Skalierung und Spaltenstatus verwendet.
Syntax
COLUMN_NAME_PS_STATUS(pszName, nPrecision, nScale, data, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
nPrecision
[in] Die maximale Genauigkeit der Spalte, die Sie binden möchten.
nScale
[in] Die Skalierung der Spalte, die Sie binden möchten.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch den Spaltenstatus akzeptiert.
Syntax
COLUMN_NAME_STATUS(pszName, data, status )
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_TYPE
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, mit der Ausnahme, dass dieses Makro auch Datentyp verwendet.
Syntax
COLUMN_NAME_TYPE(pszName, wType, data)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
wType
[in] Der Datentyp.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_TYPE_PS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch Datentyp, Genauigkeit und Skalierung verwendet.
Syntax
COLUMN_NAME_TYPE_PS(pszName, wType, nPrecision, nScale, data)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
wType
[in] Der Datentyp.
nPrecision
[in] Die maximale Genauigkeit, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
. Andernfalls wird dieser Parameter ignoriert.
nScale
[in] Die Skalierung, die beim Abrufen von Daten und wType verwendet werden soll, ist DBTYPE_NUMERIC
oder DBTYPE_DECIMAL
.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_TYPE_SIZE
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, mit der Ausnahme, dass dieses Makro auch Datentyp und Größe verwendet.
Syntax
COLUMN_NAME_TYPE_SIZE(pszName, wType, nLength, data)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
wType
[in] Der Datentyp.
nLength
[in] Die Datengröße in Byte.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
COLUMN_NAME_TYPE_STATUS
Stellt eine Bindung für das Rowset an die bestimmte Spalte im Rowset dar. Ähnlich wie COLUMN_NAME, außer dass dieses Makro auch den Datentyp- und Spaltenstatus verwendet.
Syntax
COLUMN_NAME_TYPE_STATUS(pszName, wType, status, data)
Parameter
pszName
[in] Ein Zeiger auf den Spaltennamen. Der Name muss eine Unicode-Zeichenfolge sein. Sie können dies erreichen, indem Sie ein "L" vor dem Namen setzen, z. B.: L"MyColumn"
.
wType
[in] Der Datentyp.
status
[in] Die Variable, die an den Spaltenstatus gebunden werden soll.
data
[in] Das entsprechende Datenelement im Benutzerdatensatz.
Hinweise
Informationen dazu, wo die COLUMN_NAME_*-Makros verwendet werden, finden Sie unter COLUMN_NAME .
END_COLUMN_MAP
Markiert das Ende der Spaltenzuordnungseinträge.
Syntax
END_COLUMN_MAP()
Hinweise
Sie wird mit einem einzelnen Accessor für ein Rowset verwendet. Das BEGIN_COLUMN_MAP Makro wird mit dem END_COLUMN_MAP Makro abgeschlossen.
Beispiel
Siehe BEGIN_COLUMN_MAP.
DEFINE_COMMAND
Gibt den Befehl an, der zum Erstellen des Rowsets bei Verwendung der CCommand-Klasse verwendet wird. Akzeptiert nur Zeichenfolgentypen, die dem angegebenen Anwendungstyp (ANSI oder Unicode) entsprechen.
Hinweis
Es wird empfohlen, DEFINE_COMMAND_EX anstelle von DEFINE_COMMAND zu verwenden.
Syntax
DEFINE_COMMAND(x, szCommand)
Parameter
x
[in] Der Name der Benutzerdatensatzklasse (Befehlsklasse).
szCommand
[in] Die Befehlszeichenfolge, die zum Erstellen des Rowsets bei Verwendung von CCommand verwendet wird.
Hinweise
Die von Ihnen angegebene Befehlszeichenfolge wird als Standard verwendet, wenn Sie keinen Befehlstext in der CCommand::Open-Methode angeben.
Dieses Makro akzeptiert ANSI-Zeichenfolgen, wenn Sie Ihre Anwendung als ANSI oder Unicode-Zeichenfolgen erstellen, wenn Sie Ihre Anwendung als Unicode erstellen. Es wird empfohlen, DEFINE_COMMAND_EX anstelle von DEFINE_COMMAND zu verwenden, da die früheren Unicode-Zeichenfolgen unabhängig vom ANSI- oder Unicode-Anwendungstyp akzeptiert.
Beispiel
Siehe BOOKMARK_ENTRY.
DEFINE_COMMAND_EX
Gibt den Befehl an, der zum Erstellen des Rowsets bei Verwendung der CCommand-Klasse verwendet wird. Unterstützt Unicode- und ANSI-Anwendungen.
Syntax
DEFINE_COMMAND_EX(x, wszCommand)
Parameter
x
[in] Der Name der Benutzerdatensatzklasse (Befehlsklasse).
wszCommand
[in] Die Befehlszeichenfolge, die zum Erstellen des Rowsets bei Verwendung von CCommand verwendet wird.
Hinweise
Die von Ihnen angegebene Befehlszeichenfolge wird als Standard verwendet, wenn Sie keinen Befehlstext in der CCommand::Open-Methode angeben.
Dieses Makro akzeptiert Unicode-Zeichenfolgen, unabhängig vom Anwendungstyp. Dieses Makro wird gegenüber DEFINE_COMMAND bevorzugt, da es Unicode sowie ANSI-Anwendungen unterstützt.
Beispiel
Siehe BOOKMARK_ENTRY.
BEGIN_PARAM_MAP
Markiert den Anfang der Parameterzuordnungseinträge.
Syntax
BEGIN_PARAM_MAP(x)
Parameter
x
[in] Der Name der Benutzerdatensatzklasse.
Hinweise
Parameter werden von Befehlen verwendet.
Beispiel
Sehen Sie sich das Beispiel für das BEGIN_COLUMN_MAP-Makro an.
END_PARAM_MAP
Markiert das Ende der Parameterzuordnungseinträge.
Syntax
END_PARAM_MAP()
Beispiel
Sehen Sie sich das Beispiel für das makro BEGIN_PARAM_MAP an.
SET_PARAM_TYPE
Gibt COLUMN_ENTRY Makros an, die der SET_PARAM_TYPE Makroeingabe, -ausgabe oder -ausgabe folgen.
Syntax
SET_PARAM_TYPE(type)
Parameter
type
[in] Der für den Parameter festzulegende Typ.
Hinweise
Anbieter unterstützen nur Parametereingabe-/-ausgabetypen, die von der zugrunde liegenden Datenquelle unterstützt werden. Der Typ ist eine Kombination aus einem oder DBPARAMIO
mehreren Werten (siehe DBBINDING-Strukturen in der OLE DB Programmer's Reference):
DBPARAMIO_NOTPARAM
Der Accessor hat keine Parameter. In der Regel legeneParamIO
Sie diesen Wert in Zeilenaccessoren fest, um den Benutzer daran zu erinnern, dass Parameter ignoriert werden.DBPARAMIO_INPUT
Ein Eingabeparameter.DBPARAMIO_OUTPUT
Ein Ausgabeparameter.DBPARAMIO_INPUT | DBPARAMIO_OUTPUT
Der Parameter ist sowohl ein Eingabe- als auch ein Ausgabeparameter.
Beispiel
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 < ? }")
};
Anforderungen
Header: atldbcli.h
Siehe auch
Makros und globale Funktionen für OLE-Consumervorlagen
OLE DB-Consumervorlagen
Referenz der OLE DB-Consumervorlagen