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 truefalse, 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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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 legen eParamIO 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