Share via


db_param

Ordnet die angegebene Membervariable mit einer Eingabe oder einem Ausgabeparameter und schränkt die Variable ab.

[ db_param( 
   ordinal, 
   paramtype="DBPARAMIO_INPUT", 
   dbtype, 
   precision, 
   scale, 
   status, 
   length
) ]

Parameter

  • ordinal
    Die Spaltennummer (DBCOLUMNINFO Ordnungszahl) entspricht einem Feld im Rowset, um Daten zu binden.

  • paramtype (optional)
    Der festzulegende Typ für den Parameter.Anbieter unterstützen nur Parameter E/A-Typen, die von der zugrunde liegenden Datenquelle unterstützt werden.Der Typ ist eine Kombination aus einem oder mehreren DBPARAMIOENUM-Werte:

    • DBPARAMIO_INPUT ein Eingabeparameter.

    • DBPARAMIO_OUTPUT ein Ausgabeparameter.

    • DBPARAMIO_NOTPARAM der Accessor verfügt über keine Parameter.Einstellung eParamIO auf diesen Wert in Zeilen accessoren speichert den Benutzer, dass Parameter ignoriert werden.

  • dbtype (optional)
    OLE DB Typ-Indikator für den Eintrag Spalten.

  • Genauigkeit (optional)
    Die für den Eintrag Spalten zu verwendenden Genauigkeit.Ausführliche Informationen finden Sie in der Beschreibung von bPrecision-Element DBBINDING-Struktur

  • Dezimalstellen (optional)
    Die für den Eintrag Spalten, Skalierung verwendet werden soll.Ausführliche Informationen finden Sie in der Beschreibung von bScale-Element DBBINDING-Struktur

  • Status (optional)
    Eine Membervariable verwendet, um den Status dieser Spalte enthält.Der Status gibt, ob der Spaltenwert ein Datenwert oder ein anderer Wert ist, z NULLan.Mögliche Werte finden Sie in der StatusOLE DB-Programmierreferenz.

  • Length (optional)
    Eine Membervariable verwendet, um die Größe der Spalte in Bytes enthält.

Hinweise

db_param definiert Parameter, die Sie in Befehlen verwendet werden. Daher können Sie es mit db_command.Beispielsweise können Sie den db_param Binding parametern in SQL-Abfragen oder gespeicherte Prozeduren verwenden.Parameter in einer gespeicherten Prozedur werden durch Fragezeichen (?) bezeichnet, und Sie sollten die Datenmember in der Reihenfolge binden, in der die Parameter angegeben werden.

db_param schränkt Memberdaten ab, die an er-basiert Bindung in OLE DB ICommandWithParametersteilnehmen können.Er legt den Parametertyp (Eingabe oder Ausgabe), OLE DB-Typ, Genauigkeit, Dezimalstellen, Status und Länge für den angegebenen Parameter fest.Dieses Attribut wird der OLE DB-Consumer-Makros ein BEGIN_PARAM_MAP…END_PARAM_MAP.Jeder Member, den Sie mit dem db_param-Attribut kennzeichnen, nimmt einen Eintrag in der Zuordnung in Form eines COLUMN_ENTRY.

db_param wird entweder in Verbindung mit den db_table oder db_command-Attributen verwendet.

Wenn der Consumer Attribut für Textanbieter dieses Attribut auf eine Klasse angewendet wird, benennt der Compiler die Klasse zum _TheClassNameAccessor, in dem TheClassName der Name ist, den Sie für die Klasse haben, und der Compiler außerdem eine Klasse erstellt, die TheClassName aufgerufen wird , die vom _TheClassNameAccessor berechnet.In der Klassenansicht finden Sie unter beide Klassen.

Beispiel

Im folgenden Beispiel wird eine Befehlsklasse auf Grundlage der SalesbyYear-gespeicherte Prozedur in der Datenbank Northwind.Er weist den ersten Parameter in der gespeicherten Prozedur mit der m_RETURN_VALUE-Variable definiert und diesen als Ausgabeparameter.Sie ordnet die letzten beiden Parameter mit m_Beginning_Date (Eingabe) und m_Ending_Date.

Im folgenden Beispiel ordnet die nOutput-Variable mit einem Ausgabeparameter.

// db_param.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_source(L"my_connection_string"), 
  db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }") 
]
struct CSalesbyYear {
   DBSTATUS m_dwShippedDateStatus;
   DBSTATUS m_dwOrderIDStatus;
   DBSTATUS m_dwSubtotalStatus;
   DBSTATUS m_dwYearStatus;

   DBLENGTH m_dwShippedDateLength;
   DBLENGTH m_dwOrderIDLength;
   DBLENGTH m_dwSubtotalLength;
   DBLENGTH m_dwYearLength;

   // Bind columns
   [ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
   [ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
   [ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
   [ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];

   // Bind parameters
   [ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
   [ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
   [ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};

Anforderungen

Attribut-Kontext

Betrifft

Klasse, struct, Member, Möglichkeit, lokale Variablen

Wiederholbar

Nein

Erforderliche Attribute

None

Ungültige Attribute

None

Weitere Informationen über das kontexte finden Sie unter Attribut-Kontexte.

Siehe auch

Weitere Ressourcen

OLE DB-Consumerattribute

Attributes Samples