db_column
Привязывает указанный столбец к переменной в наборе строк.
Синтаксис
[ db_column(ordinal, dbtype, precision, scale, status, length) ]
Параметры
порядковая
Порядковый номер столбца (DBCOLUMNINFO
порядковый номер) или имя столбца (строка ANSI или Юникод), соответствующее полю в наборе строк, к которому необходимо привязать данные. При использовании чисел можно пропустить последовательные порядковые порядки (например, 1, 2, 3, 5). Имя может содержать пробелы, если используется поставщик OLE DB. Например, можно использовать любой из следующих форматов:
[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];
dbtype
(Необязательно) Индикатор типа OLE DB для записи столбца.
precision
(Необязательно) Точность, используемая для записи столбца. Дополнительные сведения см. в описании bPrecision
элемента структуры DBBINDING.
scale
(Необязательно) Масштаб, используемый для записи столбца. Дополнительные сведения см. в описании bScale
элемента структуры DBBINDING
состояние
(Необязательно) Переменная-член, используемая для хранения состояния этого столбца. Состояние указывает, является ли значение столбца значением данных или другим значением, например NULL. Возможные значения см. в разделе "Состояние" в справочнике программиста OLE DB.
length
(Необязательно) Переменная-член, используемая для хранения размера столбца в байтах.
Замечания
db_column привязывает указанный столбец таблицы к переменной в наборе строк. Он разделит данные-члены, которые могут участвовать в привязке на основе OLE DB IAccessor
. Этот атрибут настраивает карту столбцов, обычно определяемую с помощью макросов потребителей OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP и COLUMN_ENTRY. Они управляют структурой OLE DBBINDING для привязки указанного столбца. Каждый элемент, помеченный атрибутом db_column , будет занимать одну запись в карте столбцов в виде записи столбца. Таким образом, вы вызываете этот атрибут, где будет помещена карта столбцов, то есть в классе команд или таблицы.
Используйте db_column в сочетании с атрибутами db_table или db_command .
Когда поставщик атрибутов потребителя применяет этот атрибут к классу, компилятор переименовывает класс в _YourClassName Accessor, где YourClassName — это имя, которое вы предоставили класс, и компилятор также создаст класс YourClassName, производный от _YourClassName Accessor. В представлении классов отображаются оба класса.
Пример этого атрибута, используемого в приложении, см. в разделе MultiRead.
Примеры
Этот пример привязывает столбец таблицы к long
элементу данных и задает поля состояния и длины.
// db_column_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_command(L"Select * from Products") ]
class CProducts {
DBSTATUS m_dwProductIDStatus;
DBLENGTH m_dwProductIDLength;
[ db_column("1", status="m_dwProductIDStatus", length="m_dwProductIDLength") ] LONG m_ProductID;
};
Этот пример привязывает четыре столбца к long
символьной строке, метке времени и DB_NUMERIC
целому числу в этом порядке.
// db_column_2.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_command(L"Select * from Products") ]
class CProducts {
[db_column("1")] LONG m_OrderID;
[db_column("2")] TCHAR m_CustomerID[6];
[db_column("4")] DB_NUMERIC m_OrderDate;
[db_column("7", dbtype="DBTYPE_NUMERIC")] DB_NUMERIC m_ShipVia;
};
Требования
Контекст атрибута | Значение |
---|---|
Относится к | class , struct член, метод |
Повторяемый | No |
Обязательные атрибуты | нет |
Недопустимые атрибуты | нет |
Дополнительные сведения о контекстах атрибутов см. в разделе Контексты атрибутов.