Структура CDaoFieldInfo
Структура содержит сведения о объекте CDaoFieldInfo
поля, определенном для объектов доступа к данным (DAO).
Примечание.
DAO поддерживается через Office 2013. DAO 3.6 является окончательной версией, и она считается устаревшей.
Синтаксис
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
Значение, указывающее тип данных поля. Дополнительные сведения см. в разделе "Свойство type" в справке DAO. Значение этого свойства может быть одним из следующих значений:
dbBoolean
Да/Нет, то же, что и TRUE/FALSEdbByte
БайтdbInteger
КороткийdbLong
ДлинныйdbCurrency
Валюта; см. раздел COleCurrency класса MFCdbSingle
ЕдинственныйdbDouble
ДвойнойdbDate
Дата и время; см. раздел COleDateTime класса MFCdbText
СМС; см. раздел CString класса MFCdbLongBinary
Long Binary (OLE Object); Возможно, вы хотите использовать класс MFC CByteArray вместо классаCLongBinary
, так какCByteArray
более широкий и удобный для использования.dbMemo
Записка; см. класс MFCCString
dbGUID
Глобальный уникальный идентификатор/универсальный уникальный идентификатор, используемый с удаленными вызовами процедур. Дополнительные сведения см. в разделе "Свойство type" в справке DAO.
Примечание.
Не используйте строковые типы данных для двоичных данных. Это приводит к тому, что данные передаются через уровень перевода Юникода или ANSI, что приводит к увеличению нагрузки и, возможно, неожиданному переводу.
m_lSize
Значение, указывающее максимальный размер в байтах объекта поля DAO, содержащего текст или фиксированный размер объекта поля, содержащего текст или числовые значения. Дополнительные сведения см. в разделе "Свойство size" в справке DAO. Размеры могут быть одним из следующих значений:
Тип | Размер (байтов) | Description |
---|---|---|
dbBoolean |
1 байт | Да/нет (то же, что и True/False) |
dbByte |
1 | Байт |
dbInteger |
2 | Целое |
dbLong |
4 | Long |
dbCurrency |
8 | Валюта (COleCurrency) |
dbSingle |
4 | Одна |
dbDouble |
8 | Двойной |
dbDate |
8 | Date/Time (COleDateTime) |
dbText |
1 - 255 | Текст (CString) |
dbLongBinary |
0 | Long Binary (OLE Object; CByteArray; используйте вместо CLongBinary ) |
dbMemo |
0 | Memo (CString) |
dbGUID |
16 | Глобальный уникальный идентификатор/универсальный уникальный идентификатор, используемый с удаленными вызовами процедур. |
m_lAttributes
Указывает характеристики объекта поля, содержащего табличное значение, набор записей, запрос или объект индекса. Возвращаемое значение может быть суммой этих констант, созданных с помощью побитового оператора C++ -OR:|
dbFixedField
Размер поля исправлен (по умолчанию для числовых полей).dbVariableField
Размер поля — переменная (только текстовые поля).dbAutoIncrField
Значение поля для новых записей автоматически увеличивается до уникального длинного целого числа, которое невозможно изменить. Поддерживается только для таблиц базы данных Microsoft Jet.dbUpdatableField
Значение поля можно изменить.dbDescending
Поле отсортировано по убыванию (Z - A или 100 – 0) (применяется только к объекту поля в коллекции полей объекта индекса; в MFC объекты индекса сами содержатся в табличных объектах). Если эта константа опущена, поле отсортировано по возрастанию (A - Z или 0 – 100) (по умолчанию).
При проверке параметра этого свойства можно использовать побитовый оператор C++ AND (&
) для тестирования для определенного атрибута. При настройке нескольких атрибутов их можно объединить, объединив соответствующие константы с оператором bitwise-OR (|
). Дополнительные сведения см. в разделе "Свойство атрибутов" в справке DAO.
m_nOrdinalPosition
Значение, указывающее числовой порядок, в котором требуется, чтобы поле, представленное объектом поля DAO, отображалось относительно других полей. Это свойство можно задать с помощью CDaoTableDef::CreateField. Дополнительные сведения см. в разделе "Свойство OrdinalPosition" в справке DAO.
m_bRequired
Указывает, требуется ли для объекта поля DAO значение, отличное от NULL. Если это свойство имеет значение TRUE, поле не разрешает значение NULL. Если параметр "Обязательный" имеет значение FALSE, поле может содержать значения NULL, а также значения, соответствующие условиям, заданным параметрами свойств AllowZeroLength и ValidationRule. Дополнительные сведения см. в разделе "Обязательное свойство" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_bAllowZeroLength
Указывает, является ли пустая строка ("") допустимым значением объекта поля DAO с типом данных Text или Memo. Если это свойство имеет значение TRUE, пустая строка является допустимым значением. Это свойство можно задать значение FALSE, чтобы убедиться, что для задания значения поля нельзя использовать пустую строку. Дополнительные сведения см. в разделе "Свойство AllowZeroLength" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_lCollatingOrder
Указывает последовательность порядка сортировки в тексте для сравнения строк или сортировки. Дополнительные сведения см. в разделе "Настройка параметров реестра Windows для доступа к данным" в справке DAO. Список возможных возвращаемых значений см m_lCollatingOrder
. в элементе структуры CDaoDatabaseInfo . Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_strForeignName
Значение, указывающее имя объекта поля DAO во внешней таблице, соответствующей полю в первичной таблице. Дополнительные сведения см. в разделе "Свойство ForeignName" в справке DAO.
m_strSourceField
Указывает имя поля, которое является исходным источником данных для объекта поля DAO, содержащегося в табличном, наборе записей или объекте querydef. Это свойство указывает исходное имя поля, связанное с объектом поля. Например, это свойство можно использовать для определения исходного источника данных в поле запроса, имя которого не связано с именем поля в базовой таблице. Дополнительные сведения см. в разделе "Свойства SourceField, SourceTable" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_strSourceTable
Указывает имя таблицы, которая является исходным источником данных для объекта поля DAO, содержащегося в табличном, наборе записей или объекте querydef. Это свойство указывает исходное имя таблицы, связанное с объектом поля. Например, это свойство можно использовать для определения исходного источника данных в поле запроса, имя которого не связано с именем поля в базовой таблице. Дополнительные сведения см. в разделе "Свойства SourceField, SourceTable" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_strValidationRule
Значение, которое проверяет данные в поле при изменении или добавлении в таблицу. Дополнительные сведения см. в разделе "Свойство ValidationRule" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
Сведения о таблицах см m_strValidationRule
. в элементе структуры CDaoTableDefInfo .
m_strValidationText
Значение, указывающее текст сообщения, отображаемого приложением, если значение объекта поля DAO не удовлетворяет правилу проверки, заданному параметром свойства ValidationRule. Дополнительные сведения см. в разделе "Свойство ValidationText" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
m_strDefaultValue
Значение по умолчанию объекта поля DAO. При создании новой записи параметр свойства DefaultValue автоматически вводится в качестве значения поля. Дополнительные сведения см. в разделе "Свойство DefaultValue" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.
Замечания
Ссылки на Primary, Secondary и All выше указывают, как информация возвращается GetFieldInfo
функцией-членом в классах CDaoTableDef, CDaoQueryDef и CDaoRecordset.
Объекты полей не представлены классом MFC. Вместо этого объекты DAO, базовые объекты MFC следующих классов содержат коллекции объектов полей: CDaoTableDef, CDaoRecordset и CDaoQueryDef. Эти классы предоставляют функции-члены для доступа к некоторым отдельным элементам сведений о поле или вы можете получить к ним доступ одновременно с CDaoFieldInfo
объектом, вызвав GetFieldInfo
функцию-член содержащего объекта.
Помимо использования для изучения свойств объекта, можно также использовать CDaoFieldInfo
для создания входных параметров для создания новых полей в табличном значении. Для этой задачи доступны более простые параметры, но если требуется более точное управление, можно использовать версию CDaoTableDef::CreateField , принимающую CDaoFieldInfo
параметр.
Сведения, GetFieldInfo
полученные функцией-членом (класса, содержащего поле), хранятся в CDaoFieldInfo
структуре. GetFieldInfo
Вызовите функцию-член содержащего объекта, в коллекции полей которого хранится объект поля. CDaoFieldInfo
также определяет функцию-член Dump
в отладочных сборках. Можно использовать Dump
для дампа содержимого объекта CDaoFieldInfo
.
Требования
Заголовок: afxdao.h
См. также
Структуры, стили, обратные вызовы и схемы сообщений
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo