db_accessor
Agrupa atributos db_column
que participan en un enlace basado en IAccessor
.
Sintaxis
[ db_accessor(num, auto) ]
Parámetros
num
Especifica el número de descriptor de acceso (un índice entero de base cero). Los números de descriptor de acceso deben especificarse en orden creciente mediante enteros o valores definidos.
auto
Valor booleano que especifica si el descriptor de acceso se recupera automáticamente (TRUE) o no se recupera (FALSE).
Comentarios
db_accessor define el descriptor de acceso OLE DB subyacente para los atributos db_column
y db_param
posteriores dentro de la misma clase o función. db_accessor se puede usar en el nivel de miembro y se usa para agrupar atributos db_column
que participan en un enlace basado IAccessor
en OLE DB. Se usa junto con los atributos db_table
o db_command
. El proceso de llamar a este atributo es similar a llamar a las macros BEGIN_ACCESSOR y END_ACCESSOR.
db_accessor genera un conjunto de filas y lo enlaza a las asignaciones de descriptores de acceso correspondientes. Si no llama a db_accessor, se generará automáticamente el descriptor de acceso 0 y todos los enlaces de columna se asignarán a este bloque de descriptor de acceso.
db_accessor agrupa los enlaces de columna de base de datos en uno o varios descriptores de acceso. Para obtener una explicación de los escenarios en los que es necesario usar varios descriptores de acceso, consulte Uso de varios descriptores de acceso en un conjunto de filas. Consulte también "Compatibilidad de los registros de usuario con varios descriptores de acceso" en Registros de usuario.
Cuando el proveedor de atributos de consumidor aplica este atributo a una clase, el compilador cambiará el nombre de la clase a _NombreClaseDescriptorAcceso, donde NombreClase es el nombre asignado a la clase; el compilador también creará una clase denominada NombreClase, que deriva de _NombreClaseDescriptorAcceso. En Vista de clases verá ambas clases.
Ejemplo
En el ejemplo siguiente se usa db_accessor para agrupar columnas de la tabla "Orders" de la base de datos Northwind en dos descriptores de acceso. El descriptor de acceso 0 es un descriptor de acceso automático, mientras que el descriptor de acceso 1 no lo es.
// cpp_attr_ref_db_accessor.cpp
// compile with: /LD /link /OPT:NOREF
#define _ATL_ATTRIBUTES
#include <atlbase.h>
#include <atldbcli.h>
[ db_command(L"SELECT LastName, FirstName FROM Orders") ]
class CEmployees {
public:
[ db_accessor(0, TRUE) ];
[ db_column("1") ] LONG m_OrderID;
[ db_column("2") ] TCHAR m_CustomerID[6];
[ db_column("4") ] DBTIMESTAMP m_OrderDate;
[ db_accessor(1, FALSE) ];
[ db_column("8") ] CURRENCY m_Freight;
};
Requisitos
Contexto de atributo | Valor |
---|---|
Se aplica a | Bloques de atributos |
Reiterativo | No |
Atributos requeridos | None |
Atributos no válidos | None |
Para obtener más información acerca de los contextos de atributo, consulte Contextos de atributo.