Класс CDynamicAccessorCDynamicAccessor Class

Позволяет получить доступ к источнику данных, если нет сведений о схеме базы данных (базовой структуре базы данных).Allows you to access a data source when you have no knowledge of the database schema (the database's underlying structure).

СинтаксисSyntax

class CDynamicAccessor : public CAccessorBase

ТребованияRequirements

Заголовок: Atldbcli. hHeader: atldbcli.h

ЭлементыMembers

МетодыMethods

ИмяName ОписаниеDescription
AddBindEntryAddBindEntry Добавляет запись привязки к выходным столбцам при переопределении метода доступа по умолчанию.Adds a bind entry to the output columns when overriding the default accessor.
CDynamicAccessorCDynamicAccessor Создает и инициализирует CDynamicAccessor объект.Instantiates and initializes the CDynamicAccessor object.
ЗакрытьClose Отменяет привязку всех столбцов, освобождает выделенную память и освобождает указатель интерфейса IAccessor в классе.Unbinds all the columns, releases the allocated memory, and releases the IAccessor interface pointer in the class.
жетблобхандлингGetBlobHandling Возвращает значение обработки большого двоичного объекта для текущей строки.Retrieves the BLOB handling value for the current row.
жетблобсизелимитGetBlobSizeLimit Возвращает максимальный размер большого двоичного объекта в байтах.Retrieves the maximum BLOB size in bytes.
ВыкладкаGetBookmark Извлекает закладку для текущей строки.Retrieves the bookmark for the current row.
GetColumnCountGetColumnCount Возвращает количество столбцов в наборе строк.Retrieves the number of columns in the rowset.
жетколумнфлагсGetColumnFlags Получает характеристики столбца.Retrieves the column characteristics.
GetColumnInfoGetColumnInfo Получает метаданные столбца.Retrieves the column metadata.
GetColumnNameGetColumnName Извлекает имя указанного столбца.Retrieves the name of a specified column.
жетколумнтипеGetColumnType Возвращает тип данных указанного столбца.Retrieves the data type of a specified column.
GetLengthGetLength Возвращает максимально возможную длину столбца в байтах.Retrieves the maximum possible length of a column in bytes.
GetOrdinalGetOrdinal Возвращает индекс столбца по заданному имени столбца.Retrieves the column index given a column name.
GetStatusGetStatus Получает состояние указанного столбца.Retrieves the status of a specified column.
GetValueGetValue Извлекает данные из буфера.Retrieves the data from the buffer.
сетблобхандлингSetBlobHandling Задает значение обработки большого двоичного объекта для текущей строки.Sets the BLOB handling value for the current row.
сетблобсизелимитSetBlobSizeLimit Задает максимальный размер большого двоичного объекта в байтах.Sets the maximum BLOB size in bytes.
SetLengthSetLength Задает длину столбца в байтах.Sets the length of the column in bytes.
SetStatusSetStatus Задает состояние указанного столбца.Sets the status of a specified column.
SetValueSetValue Сохраняет данные в буфер.Stores the data to the buffer.

КомментарииRemarks

Используйте CDynamicAccessor методы для получения таких сведений о столбцах, как имена столбцов, число столбцов, тип данных и т. д.Use CDynamicAccessor methods to obtain column information such as column names, column count, data type, and so on. Затем эти сведения о столбце используются для динамического создания метода доступа во время выполнения.You then use this column information to create an accessor dynamically at run time.

Сведения о столбцах хранятся в буфере, который создается и управляется этим классом.The column information is stored in a buffer that is created and managed by this class. Получение данных из буфера с помощью функции GetValue.Obtain data from the buffer using GetValue.

Обсуждение и примеры использования динамических классов методов доступа см. в разделе Использование динамических методов доступа.For a discussion and examples of using the dynamic accessor classes, see Using Dynamic Accessors.

CDynamicAccessor:: AddBindEntryCDynamicAccessor::AddBindEntry

Добавляет запись привязки к выходным столбцам.Adds a bind entry to the output columns.

СинтаксисSyntax

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

ПараметрыParameters

контактныеinfo
окне DBCOLUMNINFO Структура, содержащая сведения о столбцах.[in] A DBCOLUMNINFO structure containing column information. См. раздел "структуры DBCOLUMNINFO" в IColumnsInfo:: GetColumnInfo в справочнике программиста OLE DB.See "DBCOLUMNINFO Structures" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

Возвращаемое значениеReturn Value

Одно из стандартных значений HRESULT.One of the standard HRESULT values.

КомментарииRemarks

Используйте этот метод при переопределении метода доступа по умолчанию, созданного с помощью CDynamicAccessor (см. раздел как извлечь данные?).Use this method when overriding the default accessor created with CDynamicAccessor (see How Do I Fetch Data?).

CDynamicAccessor:: CDynamicAccessorCDynamicAccessor::CDynamicAccessor

Создает и инициализирует CDynamicAccessor объект.Instantiates and initializes the CDynamicAccessor object.

СинтаксисSyntax

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

ПараметрыParameters

еблобхандлингeBlobHandling
Указывает способ обработки данных больших двоичных объектов (BLOB).Specifies how the binary large object (BLOB) data is to be handled. Значение по умолчанию — DBBLOBHANDLING_DEFAULT.The default value is DBBLOBHANDLING_DEFAULT. Описание значений ДББЛОБХАНДЛИНЖЕНУМ см. в разделе сетблобхандлинг .See SetBlobHandling for a description of the DBBLOBHANDLINGENUM values.

нблобсизеnBlobSize
Максимальный размер большого двоичного объекта в байтах; данные столбца по этому значению рассматриваются как большой двоичный объект.The maximum BLOB size in bytes; column data over this value is treated as a BLOB. Значение по умолчанию — 8 000.The default value is 8,000. Дополнительные сведения см. в разделе сетблобсизелимит .See SetBlobSizeLimit for details.

КомментарииRemarks

При использовании конструктора для инициализации CDynamicAccessor объекта можно указать, как он будет привязывать большие двоичные объекты.If you use the constructor to initialize the CDynamicAccessor object, you can specify how it will bind BLOBs. BLOB-объекты могут содержать двоичные данные, такие как графика, звук или скомпилированный код.BLOBs can contain binary data such as graphics, sound, or compiled code. Поведение по умолчанию состоит в том, чтобы обрабатывать столбцы более 8 000 байт в виде больших двоичных объектов и пытаться привязать их к ISequentialStream объекту.The default behavior is to treat columns more than 8,000 bytes as BLOBs and try to bind them to an ISequentialStream object. Однако можно указать другое значение в качестве размера большого двоичного объекта.However, you can specify a different value to be the BLOB size.

Кроме того, можно указать, как CDynamicAccessor обрабатывает данные столбцов, которые обрабатываются как данные большого двоичного объекта. он может обрабатывать данные больших двоичных объектов по умолчанию; он может пропустить (не привязывает) данные большого двоичного объекта или привязать данные большого двоичного объекта в памяти, выделенной поставщиком.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

Отменяет привязку всех столбцов, освобождает выделенную память и освобождает указатель интерфейса IAccessor в классе.Unbinds all the columns, releases the allocated memory, and releases the IAccessor interface pointer in the class.

СинтаксисSyntax

void Close() throw();

CDynamicAccessor:: ЖетблобхандлингCDynamicAccessor::GetBlobHandling

Возвращает значение обработки большого двоичного объекта для текущей строки.Retrieves the BLOB handling value for the current row.

СинтаксисSyntax

const DBBLOBHANDLINGENUM GetBlobHandling() const;

RemarksRemarks

Возвращает значение обработки BLOB-объекта еблобхандлинг , заданное параметром сетблобхандлинг.Returns the BLOB handling value eBlobHandling as set by SetBlobHandling.

CDynamicAccessor:: ЖетблобсизелимитCDynamicAccessor::GetBlobSizeLimit

Возвращает максимальный размер большого двоичного объекта в байтах.Retrieves the maximum BLOB size in bytes.

СинтаксисSyntax

const DBLENGTH GetBlobSizeLimit() const;

RemarksRemarks

Возвращает значение обработки BLOB-объекта нблобсизе , заданное параметром сетблобсизелимит.Returns the BLOB handling value nBlobSize as set by SetBlobSizeLimit.

CDynamicAccessor:: onbookmarkCDynamicAccessor::GetBookmark

Извлекает закладку для текущей строки.Retrieves the bookmark for the current row.

СинтаксисSyntax

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

ПараметрыParameters

пбукмаркpBookmark
заполняет Указатель на объект CBookmark .[out] A pointer to the CBookmark object.

Возвращаемое значениеReturn Value

Одно из стандартных значений HRESULT.One of the standard HRESULT values.

КомментарииRemarks

Чтобы DBPROP_IRowsetLocate получить закладку, необходимо задать значение VARIANT_TRUE.You need to set DBPROP_IRowsetLocate to VARIANT_TRUE to retrieve a bookmark.

CDynamicAccessor:: GetColumnCountCDynamicAccessor::GetColumnCount

Возвращает число столбцов.Retrieves the number of columns.

СинтаксисSyntax

DBORDINAL GetColumnCount() const throw();

Возвращаемое значениеReturn Value

Число извлеченных столбцов.The number of columns retrieved.

CDynamicAccessor:: ЖетколумнфлагсCDynamicAccessor::GetColumnFlags

Получает характеристики столбца.Retrieves the column characteristics.

СинтаксисSyntax

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

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

пфлагсpFlags
заполняет Указатель на битовую маску, описывающую характеристики столбца.[out] A pointer to a bitmask that describes column characteristics. См. раздел "перечислимый тип DBCOLUMNFLAGS" в IColumnsInfo:: GetColumnInfo в справочнике программиста OLE DB.See "DBCOLUMNFLAGS Enumerated Type" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

Возвращаемое значениеReturn Value

Возвращает значение, true Если характеристики столбца успешно получены.Returns true if the column characteristics are successfully retrieved. В противном случае возвращается значение false .Otherwise, it returns false.

КомментарииRemarks

Номер столбца смещается с единицы.The column number is offset from one. Нулевой столбец является особым случаем. Это закладка, если она доступна.Column zero is a special case; it is the bookmark if available.

CDynamicAccessor:: GetColumnInfoCDynamicAccessor::GetColumnInfo

Возвращает метаданные столбца, требуемые большинством объектов-получателей.Returns the column metadata needed by most consumers.

СинтаксисSyntax

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

ПараметрыParameters

провсетpRowset
окне Указатель на интерфейс IRowset .[in] A pointer to the IRowset interface.

пколумнсpColumns
заполняет Указатель на память, в которую будет возвращено количество столбцов в наборе строк; Это число включает столбец Bookmark, если он есть.[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.

ппколумнинфоppColumnInfo
заполняет Указатель на память, в которую возвращается массив DBCOLUMNINFO структур.[out] A pointer to memory in which to return an array of DBCOLUMNINFO structures. См. раздел "структуры DBCOLUMNINFO" в IColumnsInfo:: GetColumnInfo в справочнике программиста OLE DB.See "DBCOLUMNINFO Structures" in IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference.

ппстрингсбуфферppStringsBuffer
заполняет Указатель на память, в которую возвращается указатель на хранилище для всех строковых значений (имена, используемые в пределах columnid или for pwszName) в одном блоке выделения.[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.

Возвращаемое значениеReturn Value

Одно из стандартных значений HRESULT.One of the standard HRESULT values.

КомментарииRemarks

Сведения о типах данных, и, см. в разделе IColumnsInfo:: GetColumnInfo в справочнике программиста OLE DB DBORDINAL DBCOLUMNINFO OLECHAR .See IColumnsInfo::GetColumnInfo in the OLE DB Programmer's Reference for information on the data types DBORDINAL, DBCOLUMNINFO, and OLECHAR.

CDynamicAccessor:: GetColumnNameCDynamicAccessor::GetColumnName

Извлекает имя указанного столбца.Retrieves the name of the specified column.

СинтаксисSyntax

LPOLESTR GetColumnName(DBORDINAL nColumn) const throw();

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

Возвращаемое значениеReturn Value

Имя заданного столбца.The name of the specified column.

CDynamicAccessor:: ЖетколумнтипеCDynamicAccessor::GetColumnType

Возвращает тип данных указанного столбца.Retrieves the data type of a specified column.

СинтаксисSyntax

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

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

птипеpType
заполняет Указатель на тип данных указанного столбца.[out] A pointer to the data type of the specified column.

Возвращаемое значениеReturn Value

Возвращает значение true On Success или false On failure.Returns true on success or false on failure.

CDynamicAccessor:: DATALENGTHCDynamicAccessor::GetLength

Извлекает длину указанного столбца.Retrieves the length of the specified column.

СинтаксисSyntax

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();

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

пленгсpLength
заполняет Указатель на целое число, содержащее длину столбца в байтах.[out] A pointer to the integer containing the length of the column in bytes.

Возвращаемое значениеReturn Value

Возвращает значение true , если указанный столбец найден.Returns true if the specified column is found. В противном случае эта функция возвращает значение false .Otherwise, this function returns false.

КомментарииRemarks

Первое переопределение принимает номер столбца, а второе и третье переопределения принимают имя столбца в формате ANSI или Unicode соответственно.The first override takes the column number, and the second and third overrides take the column name in ANSI or Unicode format, respectively.

CDynamicAccessor:: OrdinalCDynamicAccessor::GetOrdinal

Возвращает номер столбца по заданному имени столбца.Retrieves the column number given a column name.

СинтаксисSyntax

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

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

ПараметрыParameters

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

пординалpOrdinal
заполняет Указатель на номер столбца.[out] A pointer to the column number.

Возвращаемое значениеReturn Value

Возвращает значение, true если найден столбец с указанным именем.Returns true if a column with the specified name is found. В противном случае эта функция возвращает значение false .Otherwise, this function returns false.

CDynamicAccessor::/StatusCDynamicAccessor::GetStatus

Получает состояние указанного столбца.Retrieves the status of the specified column.

СинтаксисSyntax

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();

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

пстатусpStatus
заполняет Указатель на переменную, содержащую состояние столбца.[out] A pointer to the variable containing the column status. Дополнительные сведения см. в разделе дбстатус в справочнике программиста OLE DB .See DBSTATUS in the OLE DB Programmer's Reference for more information.

Возвращаемое значениеReturn Value

Возвращает значение true , если указанный столбец найден.Returns true if the specified column is found. В противном случае эта функция возвращает значение false .Otherwise, this function returns false.

CDynamicAccessor:: GetValueCDynamicAccessor::GetValue

Извлекает данные для указанного столбца.Retrieves the data for a specified column.

СинтаксисSyntax

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();

ПараметрыParameters

CTypectype
окне Шаблонный параметр, обрабатывающий любой тип данных, за исключением строкового типа ( CHAR* , WCHAR* ), требующего специальной обработки.[in] A templated parameter that handles any data type except string types (CHAR*, WCHAR*), which require special handling. GetValue использует соответствующий тип данных в зависимости от того, что указано здесь.GetValue uses the appropriate data type based on what you specify here.

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

пколумннамеpColumnName
окне Имя столбца.[in] The column name.

pDatapData
заполняет Указатель на содержимое указанного столбца.[out] The pointer to the contents of the specified column.

Возвращаемое значениеReturn Value

Если необходимо передать строковые данные, используйте нешаблонные версии GetValue .If you want to pass string data, use the nontemplated versions of GetValue. Нешаблонные версии этого метода возвращают void* , что указывает на часть буфера, которая содержит указанные данные столбца.The nontemplated versions of this method return void*, which points to the part of the buffer that contains the specified column data. Возвращает значение NULL, если столбец не найден.Returns NULL if the column is not found.

Для всех других типов данных проще использовать шаблонные версии GetValue .For all other data types, it is simpler to use the templated versions of GetValue. Версии в шаблоне возвращают true успешное выполнение или при false сбое.The templated versions return true on success or false on failure.

КомментарииRemarks

Используйте нешаблонные версии для возврата столбцов, содержащих строки, и шаблонных версий для столбцов, содержащих другие типы данных.Use the nontemplated versions to return columns that contain strings and the templated versions for columns that contain other data types.

В режиме отладки будет получено утверждение, если размер pData не равен размеру столбца, на который он указывает.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:: СетблобхандлингCDynamicAccessor::SetBlobHandling

Задает значение обработки большого двоичного объекта для текущей строки.Sets the BLOB handling value for the current row.

СинтаксисSyntax

bool SetBlobHandling(DBBLOBHANDLINGENUM eBlobHandling);

ПараметрыParameters

еблобхандлингeBlobHandling
Указывает способ обработки данных большого двоичного объекта.Specifies how the BLOB data is to be handled. Этот параметр может принимать перечисленные ниже значения.It can take the following values:

  • DBBLOBHANDLING_DEFAULT: обрабатывайте данные столбца, превышающие нблобсизе (как задано SetBlobSizeLimit ), как данные большого двоичного объекта, и извлеките их через ISequentialStream IStream объект или.DBBLOBHANDLING_DEFAULT: Handle column data larger than nBlobSize (as set by SetBlobSizeLimit) as BLOB data and retrieve it through an ISequentialStream or IStream object. Этот параметр попытается привязать каждый столбец, содержащий данные, превышающие нблобсизе , или список DBTYPE_IUNKNOWN как данные большого двоичного объекта.This option will attempt to bind every column containing data larger than nBlobSize or listed as DBTYPE_IUNKNOWN as BLOB data.

  • DBBLOBHANDLING_NOSTREAMS: обрабатывайте данные столбцов, превышающие нблобсизе (заданные в SetBlobSizeLimit ) как данные большого двоичного объекта, и извлеките их с помощью ссылки в выделенной для потребителя памяти.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. Этот параметр полезен для таблиц, имеющих более одного столбца больших двоичных объектов, и поставщик поддерживает только один ISequentialStream объект для каждого метода доступа.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: пропустить (не привязывать) столбцы, уточняющие их как содержащие большие двоичные объекты (метод доступа не будет выполнять привязку или извлечь значение столбца, но он по-прежнему будет получать состояние и длину столбца).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).

КомментарииRemarks

Перед вызовом SetBlobHandling следует вызвать метод Open.You should call SetBlobHandling before calling Open.

Метод-конструктор CDynamicAccessor устанавливает значение обработки BLOB-объекта DBBLOBHANDLING_DEFAULT.The constructor method CDynamicAccessor sets the BLOB handling value to DBBLOBHANDLING_DEFAULT.

CDynamicAccessor:: СетблобсизелимитCDynamicAccessor::SetBlobSizeLimit

Задает максимальный размер большого двоичного объекта в байтах.Sets the maximum BLOB size in bytes.

СинтаксисSyntax

void SetBlobSizeLimit(DBLENGTH nBlobSize);

ПараметрыParameters

нблобсизеnBlobSize
Указывает предельный размер большого двоичного объекта.Specifies the BLOB size limit.

КомментарииRemarks

Задает максимальный размер большого двоичного объекта в байтах; данные столбца, превышающие это значение, рассматриваются как большие ДВОИЧные объекты.Sets the maximum BLOB size in bytes; column data larger than this value is treated as a BLOB. Некоторые поставщики предоставляют очень большие размеры столбцов (например, 2 ГБ).Some providers give extremely large sizes for columns (such as 2 GB). Вместо того, чтобы пытаться выделить память для столбца такого размера, обычно вы пытаетесь привязать эти столбцы как большие двоичные объекты.Rather than attempting to allocate memory for a column this size, you would typically try to bind these columns as BLOBs. Таким образом, вам не придется выделять всю память, но вы все равно можете читать все данные, не опасаясь усечения.In that way you don't have to allocate all the memory, but you can still read all the data without fear of truncation. Однако в некоторых случаях может потребоваться принудительно CDynamicAccessor привязать большие столбцы к собственным типам данных.However, there are some cases in which you might want to force CDynamicAccessor to bind large columns in their native data types. Для этого вызовите метод SetBlobSizeLimit перед вызовом Open .To do this, call SetBlobSizeLimit before calling Open.

Метод-конструктор CDynamicAccessor устанавливает максимальный размер большого двоичного объекта равным значению по умолчанию 8 000 байт.The constructor method CDynamicAccessor sets the maximum BLOB size to a default value of 8,000 bytes.

CDynamicAccessor:: SetLengthCDynamicAccessor::SetLength

Задает длину указанного столбца.Sets the length of the specified column.

СинтаксисSyntax

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

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

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

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

нленгсnLength
окне Длина столбца в байтах.[in] The length of the column in bytes.

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

Возвращаемое значениеReturn Value

Возвращает true значение, если указанная длина столбца установлена успешно.Returns true if the specified column length is set successfully. В противном случае эта функция возвращает значение false .Otherwise, this function returns false.

CDynamicAccessor:: SetStatusCDynamicAccessor::SetStatus

Задает состояние указанного столбца.Sets the status of the specified column.

СинтаксисSyntax

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

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

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

ПараметрыParameters

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

statusstatus
окне Состояние столбца.[in] The column status. Дополнительные сведения см. в разделе дбстатус в справочнике программиста OLE DB .See DBSTATUS in the OLE DB Programmer's Reference for more information.

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

Возвращаемое значениеReturn Value

Возвращает, true если указанный столбец имеет состояние "успешно задано".Returns true if the specified column status is set successfully. В противном случае эта функция возвращает значение false .Otherwise, this function returns false.

CDynamicAccessor:: SetValueCDynamicAccessor::SetValue

Хранит данные в указанном столбце.Stores data to a specified column.

СинтаксисSyntax

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( );

ПараметрыParameters

CTypectype
окне Шаблонный параметр, обрабатывающий любой тип данных, за исключением строкового типа ( CHAR* , WCHAR* ), требующего специальной обработки.[in] A templated parameter that handles any data type except string types (CHAR*, WCHAR*), which require special handling. GetValue использует соответствующий тип данных в зависимости от того, что указано здесь.GetValue uses the appropriate data type based on what you specify here.

пколумннамеpColumnName
окне Указатель на строку символов, содержащую имя столбца.[in] A pointer to a character string containing the column name.

datadata
окне Указатель на память, содержащую данные.[in] The pointer to the memory containing the data.

нколумнnColumn
окне Номер столбца.[in] The column number. Номера столбцов начинаются с 1.Column numbers start with 1. Значение 0 указывает на столбец Bookmark, если он есть.A value of 0 refers to the bookmark column, if any.

Возвращаемое значениеReturn Value

Если вы хотите задать строковые данные, используйте нешаблонные версии GetValue .If you want to set string data, use the nontemplated versions of GetValue. Нешаблонные версии этого метода возвращают void* , что указывает на часть буфера, которая содержит указанные данные столбца.The nontemplated versions of this method return void*, which points to the part of the buffer that contains the specified column data. Возвращает значение NULL, если столбец не найден.Returns NULL if the column is not found.

Для всех других типов данных проще использовать шаблонные версии GetValue .For all other data types, it is simpler to use the templated versions of GetValue. Версии в шаблоне возвращают true успешное выполнение или при false сбое.The templated versions return true on success or false on failure.

См. также разделSee also

Шаблоны объекта-получателя OLE DBOLE DB Consumer Templates
Справочник по шаблонам потребителей OLE DBOLE DB Consumer Templates Reference
Класс КакцессорCAccessor Class
Класс CDynamicParameterAccessorCDynamicParameterAccessor Class
Класс CManualAccessorCManualAccessor Class