Структура CDaoFieldInfo
Структура CDaoFieldInfo содержащий сведения об объекте поля, определенном для объектов доступа к данным (DAO).
struct CDaoFieldInfo
{
CString m_strName; // Primary
short m_nType; // Primary
long m_lSize; // Primary
long m_lAttributes; // Primary
short m_nOrdinalPosition; // Secondary
BOOL m_bRequired; // Secondary
BOOL m_bAllowZeroLength; // Secondary
long m_lCollatingOrder; // Secondary
CString m_strForeignName; // Secondary
CString m_strSourceField; // Secondary
CString m_strSourceTable; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
CString m_strDefaultValue; // All
};
Параметры
m_strName
Уникальные имена объект поля.Дополнительные сведения см. в разделе «свойство» имя» в Справке DAO.m_nType
Значение, указывающее тип данных поля.Дополнительные сведения см. в разделе «свойство» тип» в Справке DAO.Значение этого свойства может иметь одно из следующих значений:dbBoolean да/нет, аналогично Истина/Ложь
Смещение dbByte
dbInteger короткое
dbLong long
Валюта dbCurrency; см. класс COleCurrency MFC
Одно dbSingle
Double dbDouble
Дата-время dbDate; см. класс COleDateTime MFC
Текст dbText; см. класс CString MFC
Binary dbLongBinary long (объект OLE); возможно, потребуется использовать класс CByteArray MFC вместо класса CLongBinary по мере CByteArray более богато и проще в использовании.
Memo dbMemo; см. класс CString MFC
dbGUID глобальный уникальный идентификатор/UUID, используемое с вызовами удаленных процедур.Дополнительные сведения см. в разделе «свойство» тип» в Справке DAO.
Примечание
Не используйте строковые типы данных для двоичных данных.Это приводит к тому, что данные передаваться через уровень преобразования Юникода Или ANSI, в результате увеличенных служебных данных и, возможно неопределенном преобразовании.
m_lSize
Значение, указывающее максимальный размер (в байтах) объектов DAO поля, содержащего текст или фиксированный размер объекта поля, содержащего текст или числовые значения.Дополнительные сведения см. в разделе «свойство size» в Справке DAO.Размеры может быть одно из следующих значений:Тип
Размер (в байтах)
Описание
dbBoolean
1 байт
Да/нет (такие же, как и true или false)
dbByte
1
Byte
dbInteger
2
Integer
dbLong
4
Long
dbCurrency
8
Валюта (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double
dbDate
8
Дата-время (COleDateTime)
dbText
1 - 255
Текст (CString)
dbLongBinary
0
Long бинарный (объект OLE. CByteArray; используйте вместо CLongBinary)
dbMemo
0
Memo (CString)
dbGUID
16
Глобальный уникальный идентификатор/UUID, используемое с вызовами удаленных процедур.
m_lAttributes
Определяет характеристики объектов поля, который содержит tabledef, набором записей, QueryDef или объектом индекса.Возвращаемое значение может быть суммой этих констант, созданной с C++ (побитовое или**|**Оператор:)dbFixedField размер поля исправлена (по умолчанию для числовых полей).
dbVariableField размер поля переменно (текстовые поля только).
dbAutoIncrField значение поля для добавления новых записей автоматически увеличивается для длиннему целое число, которое нельзя изменить.Поддерживается только для таблиц базы данных Microsoft jet.
dbUpdatableField значение поля может быть изменен.
dbDescending сортировка производится по убыванию в поле (Z или a - от 100 до 0) порядке (применяется только к объекту полей в коллекции полей объекта индекса; в MFC, объекты сами индекса, содержащихся в объектах tabledef).Если опустить эту константу, то сортировка производится по возрастанию (поля в a - Z или от 0 до 100) порядке (по умолчанию).
При проверке параметра этого свойства, можно использовать C++ оператор побитового и (&) для тестирования для указанного атрибута.При установлении несколько атрибутов, можно сочетать их путем объединения необходимые константы с побитового или (**|**Оператор).Дополнительные сведения см. в разделе «свойство атрибутов» в Справке DAO.
m_nOrdinalPosition
Значение, указывающее числовой порядок, в котором нужно поле, которое представлено объектом поля DAO, отображаемый по отношению к другим полям.Можно задать это свойство с CDaoTableDef::CreateField.Дополнительные сведения см. в разделе «свойство OrdinalPosition» в Справке DAO.m_bRequired
Указывает, требует ли объект поля DAO значений, отличных от null.Если это свойство Истина, то поле не допускает значения NULL.При необходимости имеет значение Ложь поле может содержать значение NULL, а также значения, которые соответствуют условиям указанные параметры свойством AllowZeroLength и ValidationRule.Дополнительные сведения см. в разделе «обязательные свойства» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_bAllowZeroLength
Указывает, является ли пустая строка ("") допустимое значение объекта поля DAO с типами данных text или Memo.Если это свойство Истина, то пустая строка допустимым значением.Можно установить это свойство в Ложь чтобы гарантировать нельзя использовать пустую строку, чтобы установить значение поля.Дополнительные сведения см. в разделе «свойство AllowZeroLength» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_lCollatingOrder
Порядок сортировки определяет последовательность в текст для сравнения строк или сортировки.Дополнительные сведения см. в подразделе «настраивает параметры реестра windows для доступа к данным» в Справке DAO.Список возможных значений, возвращаемых функцией члена структуры CDaoDatabaseInfo см. m_lCollatingOrder.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_strForeignName
Значение, которое в связи, указывающее имя объекта поля DAO во внешней таблице, которая соответствует полю в первичной таблице.Дополнительные сведения см. в разделе «свойство ForeignName» в Справке DAO.m_strSourceField
Отображает имя поля, исходный источник данных для объекта поля DAO, который содержит tabledef, набором записей или объектом QueryDef.Это свойство указывает исходное имя поля, связанное с объектом поля.Например, можно использовать это свойство, чтобы определить первоначальный источник данных в поле запроса, имя которого не связано с имени поля в базовой таблице.Дополнительные сведения см. в подразделе «SourceField свойства SourceTable» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_strSourceTable
Отображает имя таблицы, в которой исходный источник данных для объекта поля DAO, который содержит tabledef, набором записей или объектом QueryDef.Это свойство указывает исходное имя таблицы, связанное с объектом поля.Например, можно использовать это свойство, чтобы определить первоначальный источник данных в поле запроса, имя которого не связано с имени поля в базовой таблице.Дополнительные сведения см. в подразделе «SourceField свойства SourceTable» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_strValidationRule
Значение, которое проверяет данные в поле, так как он изменяется и добавляется к таблице.Дополнительные сведения см. в разделе «свойство ValidationRule» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.Дополнительные сведения о tabledefs см. в разделе m_strValidationRule члена структуры CDaoTableDefInfo.
m_strValidationText
Значение, указывающее текст сообщения, приложение отображает поля DAO, если значение объекта не удовлетворяет правило проверки указанный параметр свойства ValidationRule.Дополнительные сведения см. в разделе «свойство ValidationText» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.m_strDefaultValue
Значение по умолчанию объекта поля DAO.При создании новой записи, устанавливать свойства DefaultValue автоматически вводится в качестве значения для поля.Дополнительные сведения см. в разделе «свойство DefaultValue» в Справке DAO.Можно установить это свойство, tabledef с CDaoTableDef::CreateField.
Заметки
Ссылки на первичный и вторичный и всем выше показано, как сведения возвращаются функцией-членом GetFieldInfo в классах CDaoTableDef, CDaoQueryDef и CDaoRecordset.
Объекты поля не представляются классом MFC.Вместо этого объекты, находящиеся в основе MFC DAO объекты следующих классов содержат коллекцию объектов поля: CDaoTableDef, CDaoRecordset и CDaoQueryDef.Такие функции-члены предоставляет классы для доступа к определенным отдельные элементы данных полей или можно получить доступ к их непосредственно с объектом CDaoFieldInfo, вызвав функцию-член GetFieldInfo содержащего его объекта.
Помимо использования для проверки свойств объекта можно также использовать CDaoFieldInfo для построения входной параметр для создания новых полей в tabledef.Более простые параметры доступны для данной задачи, но если требуется более явный элемент управления можно использовать версию CDaoTableDef::CreateField, которая принимает параметр CDaoFieldInfo.
Сведения GetFieldInfo (полученное функцией-членом класса, содержащего поле) хранится в структуре CDaoFieldInfo.Вызовите функцию-член GetFieldInfo, содержащий коллекцию полей объекта, в котором хранится объект поля.CDaoFieldInfo также определяет функции-члена Dump в отладочные построения.Можно использовать Dump чтобы сбросить содержимое объекта CDaoFieldInfo.
Требования
Header: afxdao.h