CDynamicAccessor (Clase)CDynamicAccessor Class

Permite tener acceso a un origen de datos cuando no se conoce el esquema de la base de datos (la estructura subyacente de la base de datos).Allows you to access a data source when you have no knowledge of the database schema (the database's underlying structure).

SyntaxSyntax

class CDynamicAccessor : public CAccessorBase

RequisitosRequirements

Encabezado: atldbcli. hHeader: atldbcli.h

MiembrosMembers

MétodosMethods

NombreName DescripciónDescription
AddBindEntryAddBindEntry Agrega una entrada de enlace a las columnas de salida al reemplazar el descriptor de acceso predeterminado.Adds a bind entry to the output columns when overriding the default accessor.
CDynamicAccessorCDynamicAccessor Crea una instancia e inicializa el CDynamicAccessor objeto.Instantiates and initializes the CDynamicAccessor object.
CerrarClose Desenlaza todas las columnas, libera la memoria asignada y libera el puntero de interfaz IAccessor en la clase.Unbinds all the columns, releases the allocated memory, and releases the IAccessor interface pointer in the class.
GetBlobHandlingGetBlobHandling Recupera el valor de control de BLOBs para la fila actual.Retrieves the BLOB handling value for the current row.
GetBlobSizeLimitGetBlobSizeLimit Recupera el tamaño máximo del BLOB en bytes.Retrieves the maximum BLOB size in bytes.
GetBookmarkGetBookmark Recupera el marcador de la fila actual.Retrieves the bookmark for the current row.
GetColumnCountGetColumnCount Recupera el número de columnas del conjunto de filas.Retrieves the number of columns in the rowset.
GetColumnFlagsGetColumnFlags Recupera las características de la columna.Retrieves the column characteristics.
GetColumnInfoGetColumnInfo Recupera los metadatos de la columna.Retrieves the column metadata.
GetColumnNameGetColumnName Recupera el nombre de una columna especificada.Retrieves the name of a specified column.
GetColumnTypeGetColumnType Recupera el tipo de datos de una columna especificada.Retrieves the data type of a specified column.
GetLengthGetLength Recupera la longitud máxima posible de una columna en bytes.Retrieves the maximum possible length of a column in bytes.
GetOrdinalGetOrdinal Recupera el índice de la columna dado un nombre de columna.Retrieves the column index given a column name.
GetStatusGetStatus Recupera el estado de una columna especificada.Retrieves the status of a specified column.
GetValueGetValue Recupera los datos del búfer.Retrieves the data from the buffer.
SetBlobHandlingSetBlobHandling Establece el valor de control de BLOBs para la fila actual.Sets the BLOB handling value for the current row.
SetBlobSizeLimitSetBlobSizeLimit Establece el tamaño máximo del BLOB en bytes.Sets the maximum BLOB size in bytes.
SetLengthSetLength Establece la longitud de la columna en bytes.Sets the length of the column in bytes.
SetStatusSetStatus Establece el estado de una columna especificada.Sets the status of a specified column.
SetValueSetValue Almacena los datos en el búfer.Stores the data to the buffer.

ComentariosRemarks

Use CDynamicAccessor los métodos para obtener información de columna, como nombres de columna, número de columnas, tipo de datos, etc.Use CDynamicAccessor methods to obtain column information such as column names, column count, data type, and so on. A continuación, use esta información de columna para crear un descriptor de acceso dinámicamente en tiempo de ejecución.You then use this column information to create an accessor dynamically at run time.

La información de la columna se almacena en un búfer creado y administrado por esta clase.The column information is stored in a buffer that is created and managed by this class. Obtener datos del búfer mediante GetValue.Obtain data from the buffer using GetValue.

Para obtener una explicación y ejemplos del uso de las clases de descriptor de acceso dinámico, vea usar descriptores de acceso dinámicos.For a discussion and examples of using the dynamic accessor classes, see Using Dynamic Accessors.

CDynamicAccessor:: AddBindEntryCDynamicAccessor::AddBindEntry

Agrega una entrada de enlace a las columnas de salida.Adds a bind entry to the output columns.

SintaxisSyntax

HRESULT AddBindEntry(const DBCOLUMNINFO& info) throw();

ParámetrosParameters

infoinfo
de DBCOLUMNINFO Estructura que contiene información de columna.[in] A DBCOLUMNINFO structure containing column information. Vea "estructuras DBCOLUMNINFOs" en IColumnsInfo:: GetColumnInfo en la Referencia del programador de OLE DB.See "DBCOLUMNINFO Structures" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

Valor devueltoReturn Value

Uno de los valores HRESULT estándar.One of the standard HRESULT values.

ComentariosRemarks

Use este método al reemplazar el descriptor de acceso predeterminado creado con CDynamicAccessor (vea ¿cómo se capturan datos?).Use this method when overriding the default accessor created with CDynamicAccessor (see How Do I Fetch Data?).

CDynamicAccessor:: CDynamicAccessorCDynamicAccessor::CDynamicAccessor

Crea una instancia e inicializa el CDynamicAccessor objeto.Instantiates and initializes the CDynamicAccessor object.

SintaxisSyntax

CDynamicAccessor(DBBLOBHANDLINGENUM eBlobHandling = DBBLOBHANDLING_DEFAULT,
   DBLENGTH nBlobSize = 8000);

ParámetrosParameters

eBlobHandlingeBlobHandling
Especifica cómo se van a controlar los datos de objetos binarios grandes (BLOB).Specifies how the binary large object (BLOB) data is to be handled. El valor predeterminado es DBBLOBHANDLING_DEFAULT.The default value is DBBLOBHANDLING_DEFAULT. Consulte SetBlobHandling para obtener una descripción de los valores de DBBLOBHANDLINGENUM.See SetBlobHandling for a description of the DBBLOBHANDLINGENUM values.

nBlobSizenBlobSize
Tamaño máximo del BLOB en bytes; los datos de columna a través de este valor se tratan como un BLOB.The maximum BLOB size in bytes; column data over this value is treated as a BLOB. El valor predeterminado es 8.000.The default value is 8,000. Consulte SetBlobSizeLimit para obtener más información.See SetBlobSizeLimit for details.

ComentariosRemarks

Si utiliza el constructor para inicializar el CDynamicAccessor objeto, puede especificar cómo enlazará los BLOBs.If you use the constructor to initialize the CDynamicAccessor object, you can specify how it will bind BLOBs. Los blobs pueden contener datos binarios como gráficos, sonido o código compilado.BLOBs can contain binary data such as graphics, sound, or compiled code. El comportamiento predeterminado consiste en tratar las columnas más de 8.000 bytes como Blobs e intentar enlazarlas a un ISequentialStream objeto.The default behavior is to treat columns more than 8,000 bytes as BLOBs and try to bind them to an ISequentialStream object. Sin embargo, puede especificar un valor diferente para que sea el tamaño del BLOB.However, you can specify a different value to be the BLOB size.

También puede especificar cómo CDynamicAccessor administra los datos de las columnas que se califican como datos de BLOB: puede administrar los datos de blobs de la manera predeterminada; puede omitir (no enlazar) los datos de blobs; o puede enlazar datos de blobs en memoria asignada por el proveedor.You can also specify how CDynamicAccessor handles column data that qualifies as BLOB data: it can handle BLOB data in the default manner; it can skip (does not bind) BLOB data; or it can bind BLOB data in provider-allocated memory.

CDynamicAccessor:: CloseCDynamicAccessor::Close

Desenlaza todas las columnas, libera la memoria asignada y libera el puntero de interfaz IAccessor en la clase.Unbinds all the columns, releases the allocated memory, and releases the IAccessor interface pointer in the class.

SyntaxSyntax

void Close() throw();

CDynamicAccessor:: GetBlobHandlingCDynamicAccessor::GetBlobHandling

Recupera el valor de control de BLOBs para la fila actual.Retrieves the BLOB handling value for the current row.

SintaxisSyntax

const DBBLOBHANDLINGENUM GetBlobHandling() const;

ComentariosRemarks

Devuelve el valor de control de BLOB eBlobHandling tal y como lo establece SetBlobHandling.Returns the BLOB handling value eBlobHandling as set by SetBlobHandling.

CDynamicAccessor:: GetBlobSizeLimitCDynamicAccessor::GetBlobSizeLimit

Recupera el tamaño máximo del BLOB en bytes.Retrieves the maximum BLOB size in bytes.

SintaxisSyntax

const DBLENGTH GetBlobSizeLimit() const;

ComentariosRemarks

Devuelve el valor de control de BLOB nBlobSize tal y como lo establece SetBlobSizeLimit.Returns the BLOB handling value nBlobSize as set by SetBlobSizeLimit.

CDynamicAccessor:: GetBookmarkCDynamicAccessor::GetBookmark

Recupera el marcador de la fila actual.Retrieves the bookmark for the current row.

SintaxisSyntax

HRESULT GetBookmark(CBookmark< >* pBookmark) const throw();

ParámetrosParameters

pBookmarkpBookmark
enuncia Puntero al objeto CBookmark .[out] A pointer to the CBookmark object.

Valor devueltoReturn Value

Uno de los valores HRESULT estándar.One of the standard HRESULT values.

ComentariosRemarks

Debe establecer DBPROP_IRowsetLocate en VARIANT_TRUE para recuperar un marcador.You need to set DBPROP_IRowsetLocate to VARIANT_TRUE to retrieve a bookmark.

CDynamicAccessor:: GetColumnCountCDynamicAccessor::GetColumnCount

Recupera el número de columnas.Retrieves the number of columns.

SintaxisSyntax

DBORDINAL GetColumnCount() const throw();

Valor devueltoReturn Value

El número de columnas recuperadas.The number of columns retrieved.

CDynamicAccessor:: GetColumnFlagsCDynamicAccessor::GetColumnFlags

Recupera las características de la columna.Retrieves the column characteristics.

SintaxisSyntax

bool GetColumnFlags(DBORDINAL nColumn,
   DBCOLUMNFLAGS* pFlags) const throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

pFlagspFlags
enuncia Puntero a una máscara de máscara que describe las características de las columnas.[out] A pointer to a bitmask that describes column characteristics. Vea el tema sobre el tipo enumerado DBCOLUMNFLAGS en IColumnsInfo:: GetColumnInfo en la Referencia del programador de OLE DB.See "DBCOLUMNFLAGS Enumerated Type" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

Valor devueltoReturn Value

Devuelve true si las características de la columna se han recuperado correctamente.Returns true if the column characteristics are successfully retrieved. De lo contrario, devuelve false .Otherwise, it returns false.

ComentariosRemarks

El número de columna está desplazado desde uno.The column number is offset from one. La columna cero es un caso especial; Si está disponible, es el marcador.Column zero is a special case; it is the bookmark if available.

CDynamicAccessor:: GetColumnInfoCDynamicAccessor::GetColumnInfo

Devuelve los metadatos de columna que necesitan la mayoría de los consumidores.Returns the column metadata needed by most consumers.

SintaxisSyntax

HRESULT GetColumnInfo(IRowset* pRowset,
   DBORDINAL* pColumns,
   DBCOLUMNINFO** ppColumnInfo,
   OLECHAR** ppStringsBuffer) throw();

ParámetrosParameters

pRowsetpRowset
de Puntero a la interfaz IRowset .[in] A pointer to the IRowset interface.

pColumnspColumns
enuncia Puntero a la memoria en la que se va a devolver el número de columnas del conjunto de filas; Este número incluye la columna de marcador, si hay alguna.[out] A pointer to memory in which to return the number of columns in the rowset; this number includes the bookmark column, if there is one.

ppColumnInfoppColumnInfo
enuncia Puntero a la memoria en la que se va a devolver una matriz de DBCOLUMNINFO estructuras.[out] A pointer to memory in which to return an array of DBCOLUMNINFO structures. Vea "estructuras DBCOLUMNINFOs" en IColumnsInfo:: GetColumnInfo en la Referencia del programador de OLE DB.See "DBCOLUMNINFO Structures" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

ppStringsBufferppStringsBuffer
enuncia Puntero a la memoria en la que se va a devolver un puntero al almacenamiento de todos los valores de cadena (nombres usados en columnid o para pwszName) dentro de un único bloque de asignación.[out] A pointer to memory in which to return a pointer to storage for all string values (names used either within columnid or for pwszName) within a single allocation block.

Valor devueltoReturn Value

Uno de los valores HRESULT estándar.One of the standard HRESULT values.

ComentariosRemarks

Vea IColumnsInfo:: GetColumnInfo en la Referencia del programador de OLE DB para obtener información sobre los tipos de datos DBORDINAL , DBCOLUMNINFO y OLECHAR .See IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference for information on the data types DBORDINAL, DBCOLUMNINFO, and OLECHAR.

CDynamicAccessor:: GetColumnNameCDynamicAccessor::GetColumnName

Recupera el nombre de la columna especificada.Retrieves the name of the specified column.

SintaxisSyntax

LPOLESTR GetColumnName(DBORDINAL nColumn) const throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

Valor devueltoReturn Value

El nombre de la columna especificada.The name of the specified column.

CDynamicAccessor:: GetColumnTypeCDynamicAccessor::GetColumnType

Recupera el tipo de datos de una columna especificada.Retrieves the data type of a specified column.

SintaxisSyntax

bool GetColumnType(DBORDINAL nColumn,
   DBTYPE* pType) const throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

pTypepType
enuncia Puntero al tipo de datos de la columna especificada.[out] A pointer to the data type of the specified column.

Valor devueltoReturn Value

Devuelve true si se realiza correctamente o false en caso de error.Returns true on success or false on failure.

CDynamicAccessor:: GetLengthCDynamicAccessor::GetLength

Recupera la longitud de la columna especificada.Retrieves the length of the specified column.

SintaxisSyntax

bool GetLength(DBORDINAL nColumn,
   DBLENGTH* pLength) const throw();

bool GetLength(const CHAR* pColumnName,
   DBLENGTH* pLength) const throw();

bool GetLength(const WCHAR* pColumnName,
   DBLENGTH* pLength) const throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

pLengthpLength
enuncia Puntero al entero que contiene la longitud de la columna en bytes.[out] A pointer to the integer containing the length of the column in bytes.

Valor devueltoReturn Value

Devuelve true si se encuentra la columna especificada.Returns true if the specified column is found. De lo contrario, esta función devuelve false .Otherwise, this function returns false.

ComentariosRemarks

La primera invalidación toma el número de columna y la segunda y tercera invalidaciones toman el nombre de la columna en formato ANSI o Unicode, respectivamente.The first override takes the column number, and the second and third overrides take the column name in ANSI or Unicode format, respectively.

CDynamicAccessor:: GetOrdinalCDynamicAccessor::GetOrdinal

Recupera el número de columna dado un nombre de columna.Retrieves the column number given a column name.

SintaxisSyntax

bool GetOrdinal(const CHAR* pColumnName,
   DBORDINAL* pOrdinal) const throw();

bool GetOrdinal(const WCHAR* pColumnName,
   DBORDINAL* pOrdinal) const throw();

ParámetrosParameters

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

pOrdinalpOrdinal
enuncia Puntero al número de columna.[out] A pointer to the column number.

Valor devueltoReturn Value

Devuelve true si se encuentra una columna con el nombre especificado.Returns true if a column with the specified name is found. De lo contrario, esta función devuelve false .Otherwise, this function returns false.

CDynamicAccessor:: GetStatusCDynamicAccessor::GetStatus

Recupera el estado de la columna especificada.Retrieves the status of the specified column.

SintaxisSyntax

bool GetStatus(DBORDINAL nColumn,
   DBSTATUS* pStatus) const throw();

bool GetStatus(const CHAR* pColumnName,
   DBSTATUS* pStatus) const throw();

bool GetStatus(const WCHAR* pColumnName,
   DBSTATUS* pStatus) const throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

pStatuspStatus
enuncia Puntero a la variable que contiene el estado de la columna.[out] A pointer to the variable containing the column status. Vea DBSTATUS en la Referencia del programador de OLE DB para obtener más información.See DBSTATUS in the OLE DB Programmer's Reference for more information.

Valor devueltoReturn Value

Devuelve true si se encuentra la columna especificada.Returns true if the specified column is found. De lo contrario, esta función devuelve false .Otherwise, this function returns false.

CDynamicAccessor:: GetValueCDynamicAccessor::GetValue

Recupera los datos de una columna especificada.Retrieves the data for a specified column.

SintaxisSyntax

void* GetValue(DBORDINAL nColumn) const throw();

void* GetValue(const CHAR* pColumnName) const throw();

void* GetValue(const WCHAR* pColumnName) const throw();

template < class ctype >
bool GetValue(DBORDINAL nColumn, ctype* pData) const throw();

template < class ctype >
bool GetValue(const CHAR* pColumnName, ctype* pData) const throw();

template < class ctype >
bool GetValue(const WCHAR* pColumnName, ctype* pData) const throw();

ParámetrosParameters

ctypectype
de Un parámetro con plantilla que controla cualquier tipo de datos excepto los tipos de cadena ( CHAR* , WCHAR* ), que requieren un tratamiento especial.[in] A templated parameter that handles any data type except string types (CHAR*, WCHAR*), which require special handling. GetValue usa el tipo de datos adecuado en función de lo que especifiques aquí.GetValue uses the appropriate data type based on what you specify here.

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

pColumnNamepColumnName
de Nombre de la columna.[in] The column name.

pDatapData
enuncia Puntero al contenido de la columna especificada.[out] The pointer to the contents of the specified column.

Valor devueltoReturn Value

Si desea pasar datos de cadena, use las versiones no plantilla de GetValue .If you want to pass string data, use the nontemplated versions of GetValue. Las versiones no plantilla de este método devuelven void* , que apunta a la parte del búfer que contiene los datos de columna especificados.The nontemplated versions of this method return void*, which points to the part of the buffer that contains the specified column data. Devuelve NULL si no se encuentra la columna.Returns NULL if the column is not found.

Para el resto de tipos de datos, es más fácil utilizar las versiones con plantilla de GetValue .For all other data types, it is simpler to use the templated versions of GetValue. Las versiones con plantilla devuelven true si se realiza correctamente o false en caso de error.The templated versions return true on success or false on failure.

ComentariosRemarks

Use las versiones no plantilla para devolver las columnas que contienen cadenas y las versiones con plantilla para las columnas que contienen otros tipos de datos.Use the nontemplated versions to return columns that contain strings and the templated versions for columns that contain other data types.

En el modo de depuración, obtendrá una aserción si el tamaño de pdata no es igual al tamaño de la columna a la que señala.In debug mode, you will get an assertion if the size of pData is unequal to the size of the column to which it points.

CDynamicAccessor:: SetBlobHandlingCDynamicAccessor::SetBlobHandling

Establece el valor de control de BLOBs para la fila actual.Sets the BLOB handling value for the current row.

SintaxisSyntax

bool SetBlobHandling(DBBLOBHANDLINGENUM eBlobHandling);

ParámetrosParameters

eBlobHandlingeBlobHandling
Especifica cómo se van a controlar los datos del BLOB.Specifies how the BLOB data is to be handled. Puede tomar los siguientes valores:It can take the following values:

  • DBBLOBHANDLING_DEFAULT: controlar los datos de las columnas mayores que nBlobSize (como se establece en SetBlobSizeLimit ) como datos BLOB y recuperarlos a través de un ISequentialStream IStream objeto o.DBBLOBHANDLING_DEFAULT: Handle column data larger than nBlobSize (as set by SetBlobSizeLimit) as BLOB data and retrieve it through an ISequentialStream or IStream object. Esta opción intentará enlazar cada columna que contenga datos de más de nBlobSize o que se muestren como DBTYPE_IUNKNOWN como datos de BLOB.This option will attempt to bind every column containing data larger than nBlobSize or listed as DBTYPE_IUNKNOWN as BLOB data.

  • DBBLOBHANDLING_NOSTREAMS: controlar los datos de columna mayores que nBlobSize (como SetBlobSizeLimit se establece en) como datos de BLOB y recuperarlos a través de la referencia en la memoria de consumidor asignada por el proveedor.DBBLOBHANDLING_NOSTREAMS: Handle column data larger than nBlobSize (as set by SetBlobSizeLimit) as BLOB data and retrieve it through reference in provider-allocated, consumer-owned memory. Esta opción es útil para las tablas que tienen más de una columna BLOB y el proveedor solo admite un ISequentialStream objeto por descriptor de acceso.This option is useful for tables that have more than one BLOB column, and the provider supports only one ISequentialStream object per accessor.

  • DBBLOBHANDLING_SKIP: omitir (no enlazar) columnas que cumplan los blobs que los contienen (el descriptor de acceso no enlazará ni recuperará el valor de la columna, pero seguirá recuperando el estado y la longitud de la columna).DBBLOBHANDLING_SKIP: Skip (do not bind) columns qualifying as containing BLOBs (the accessor will not bind or retrieve the column value but it will still retrieve the column status and length).

ComentariosRemarks

Debe llamar a SetBlobHandling antes de llamar a Open.You should call SetBlobHandling before calling Open.

El método de constructor CDynamicAccessor establece el valor de control de BLOB en DBBLOBHANDLING_DEFAULT.The constructor method CDynamicAccessor sets the BLOB handling value to DBBLOBHANDLING_DEFAULT.

CDynamicAccessor:: SetBlobSizeLimitCDynamicAccessor::SetBlobSizeLimit

Establece el tamaño máximo del BLOB en bytes.Sets the maximum BLOB size in bytes.

SintaxisSyntax

void SetBlobSizeLimit(DBLENGTH nBlobSize);

ParámetrosParameters

nBlobSizenBlobSize
Especifica el límite de tamaño del BLOB.Specifies the BLOB size limit.

ComentariosRemarks

Establece el tamaño máximo del BLOB en bytes; los datos de columna mayores que este valor se tratan como un BLOB.Sets the maximum BLOB size in bytes; column data larger than this value is treated as a BLOB. Algunos proveedores proporcionan tamaños sumamente grandes para las columnas (por ejemplo, 2 GB).Some providers give extremely large sizes for columns (such as 2 GB). En lugar de intentar asignar memoria para una columna de este tamaño, normalmente intentaría enlazar estas columnas como BLOBs.Rather than attempting to allocate memory for a column this size, you would typically try to bind these columns as BLOBs. De este modo, no tiene que asignar toda la memoria, pero todavía puede leer todos los datos sin temor de truncamiento.In that way you don't have to allocate all the memory, but you can still read all the data without fear of truncation. Sin embargo, hay algunos casos en los que podría querer forzar CDynamicAccessor la vinculación de columnas grandes en sus tipos de datos nativos.However, there are some cases in which you might want to force CDynamicAccessor to bind large columns in their native data types. Para ello, llame a SetBlobSizeLimit antes de llamar a Open .To do this, call SetBlobSizeLimit before calling Open.

El método de constructor CDynamicAccessor establece el tamaño máximo del BLOB en un valor predeterminado de 8.000 bytes.The constructor method CDynamicAccessor sets the maximum BLOB size to a default value of 8,000 bytes.

CDynamicAccessor:: SetLengthCDynamicAccessor::SetLength

Establece la longitud de la columna especificada.Sets the length of the specified column.

SintaxisSyntax

bool SetLength(DBORDINAL nColumn,
   DBLENGTH nLength)throw();

bool SetLength(const CHAR* pColumnName,
   DBLENGTH nLength) throw();

bool SetLength(const WCHAR* pColumnName,
   DBLENGTH nLength) throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

nLengthnLength
de Longitud de la columna en bytes.[in] The length of the column in bytes.

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

Valor devueltoReturn Value

Devuelve true si la longitud de la columna especificada se establece correctamente.Returns true if the specified column length is set successfully. De lo contrario, esta función devuelve false .Otherwise, this function returns false.

CDynamicAccessor:: SetStatusCDynamicAccessor::SetStatus

Establece el estado de la columna especificada.Sets the status of the specified column.

SintaxisSyntax

bool SetStatus(DBORDINAL nColumn,
   DBSTATUS status)throw();

bool SetStatus(const CHAR* pColumnName,
   DBSTATUS status) throw();

bool SetStatus(const WCHAR* pColumnName,
   DBSTATUS status) throw();

ParámetrosParameters

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

statusstatus
de El estado de la columna.[in] The column status. Vea DBSTATUS en la Referencia del programador de OLE DB para obtener más información.See DBSTATUS in the OLE DB Programmer's Reference for more information.

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

Valor devueltoReturn Value

Devuelve true si el estado de la columna especificada se establece correctamente.Returns true if the specified column status is set successfully. De lo contrario, esta función devuelve false .Otherwise, this function returns false.

CDynamicAccessor:: SetValueCDynamicAccessor::SetValue

Almacena los datos en una columna especificada.Stores data to a specified column.

SintaxisSyntax

template <class ctype>
bool SetValue(
   DBORDINAL nColumn,
   constctype& data) throw( );

template <class ctype>
bool SetValue(
   const CHAR * pColumnName,
   const ctype& data) throw( );

template <class ctype>
bool SetValue(
   const WCHAR *pColumnName,
   const ctype& data) throw( );

ParámetrosParameters

ctypectype
de Un parámetro con plantilla que controla cualquier tipo de datos excepto los tipos de cadena ( CHAR* , WCHAR* ), que requieren un tratamiento especial.[in] A templated parameter that handles any data type except string types (CHAR*, WCHAR*), which require special handling. GetValue usa el tipo de datos adecuado en función de lo que especifiques aquí.GetValue uses the appropriate data type based on what you specify here.

pColumnNamepColumnName
de Puntero a una cadena de caracteres que contiene el nombre de columna.[in] A pointer to a character string containing the column name.

datadata
de Puntero a la memoria que contiene los datos.[in] The pointer to the memory containing the data.

nColumnnColumn
de El número de columna.[in] The column number. Los números de columna empiezan por 1.Column numbers start with 1. Un valor de 0 hace referencia a la columna de marcador, si existe.A value of 0 refers to the bookmark column, if any.

Valor devueltoReturn Value

Si desea establecer datos de cadena, use las versiones no plantilla de GetValue .If you want to set string data, use the nontemplated versions of GetValue. Las versiones no plantilla de este método devuelven void* , que apunta a la parte del búfer que contiene los datos de columna especificados.The nontemplated versions of this method return void*, which points to the part of the buffer that contains the specified column data. Devuelve NULL si no se encuentra la columna.Returns NULL if the column is not found.

Para el resto de tipos de datos, es más fácil utilizar las versiones con plantilla de GetValue .For all other data types, it is simpler to use the templated versions of GetValue. Las versiones con plantilla devuelven true si se realiza correctamente o false en caso de error.The templated versions return true on success or false on failure.

Consulte tambiénSee also

Plantillas de consumidor OLE DBOLE DB Consumer Templates
Referencia de plantillas de consumidor OLE DBOLE DB Consumer Templates Reference
CAccessor (clase)CAccessor Class
CDynamicParameterAccessor (clase)CDynamicParameterAccessor Class
CManualAccessor (clase)CManualAccessor Class