CDaoFieldInfo (Estructura)
La estructura de CDaoFieldInfo contiene información sobre un objeto de campo definido para los objetos (DAO) de acceso a datos.
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
};
Parámetros
m_strName
Nombres de forma única el objeto de campo. Para obtener información detallada, vea el tema “propiedad Name” en la Ayuda de DAO.m_nType
Un valor que indica el tipo de datos de campo. Para obtener información detallada, vea el tema “propiedad de tipo” en la Ayuda de DAO. El valor de esta propiedad puede ser:Sí/No dedbBoolean, igual que VERDADERO/FALSE
byte dedbByte
short dedbInteger
dbLong Long
moneda dedbCurrency; vea la clase MFC COleCurrency
dbSingle Single
doble dedbDouble
fecha y hora dedbDate; vea la clase MFC COleDateTime
texto dedbText; vea la clase MFC CString
binario dedbLongBinaryLong (objeto OLE); puede utilizar la clase MFC CByteArray en lugar de la clase CLongBinary como CByteArray es más enriquecido y más fácil de utilizar.
memorando dedbMemo; vea la clase MFC CString
dbGUID un identificador único global y un identificador único universal utilizado con llamadas a procedimiento remoto. Para obtener más información, vea el tema “propiedad de tipo” en la Ayuda de DAO.
Nota
No utilice tipos de datos de cadena para los datos binarios.Esto hace que los datos al paso a través de la traducción de unicode/ansi, lo que da como resultado sobrecarga mayor y posiblemente la traducción inesperada.
m_lSize
Un valor que indica el tamaño máximo, en bytes, de un objeto de campo DAO que contiene el texto o el de tamaño fijo de un objeto de campo que contiene el texto o valores numéricos. Para obtener información detallada, vea el tema “propiedad size” en la Ayuda de DAO. Los tamaños pueden ser uno de los siguientes valores:Tipo
Tamaño (bytes)
Descripción
dbBoolean
1 byte
Sí/No (igual que True/False)
dbByte
1
Byte
dbInteger
2
Integer
dbLong
4
Long
dbCurrency
8
Moneda (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double
dbDate
8
Fecha y hora (COleDateTime)
dbText
1 - 255
Texto (CString)
dbLongBinary
0
Binario largo (objeto OLE; CByteArray; en lugar de CLongBinary)
dbMemo
0
Memorando (CString)
dbGUID
16
Un identificador único global y un identificador único universal utilizado con llamadas a procedimiento remoto.
m_lAttributes
Especifica las características de un objeto de campo contenido por un definición, un conjunto de registros, una tabla, o de índice. El valor devuelto puede ser una suma de estas constantes, creada con C++ bit a bit- OR ( |) operador:se corrige el tamaño de campo dedbFixedField(valor predeterminado para los campos Numéricos de).
el tamaño de campo dedbVariableFieldThe es variable (campos de texto sólo).
el valor de campo dedbAutoIncrFieldThe para los nuevos registros se incrementa automáticamente a un entero largo único que no se puede cambiar. Solo se admite para las tablas de base de datos de Microsoft Jet.
el valor de campo dedbUpdatableFieldThe se puede cambiar.
el campo dedbDescendingLa está ordenada de manera descendente (z )Pueda o 100 - 0) orden (sólo se aplica a un objeto de campo en una colección de campos de un objeto de índice; en MFC, los propios objetos index se contienen en objetos de definición). Si omite esta constante, el campo se ordena de forma ascendente (A - z o 0 - 100) ordenada (valor predeterminado).
Al comprobar el valor de esta propiedad, puede utilizar el operador bit a bit - AND de C++ (&) para comprobar un atributo específico. Al establecer varios atributos, puede combinarlos combinando las constantes adecuadas con bit a bit- OR ( |) operador. Para obtener información detallada, vea el tema “propiedades de los atributos” en la Ayuda de DAO.
m_nOrdinalPosition
Un valor que especifica el orden numérica en la que desea un campo representado por un objeto de campo DAO que se mostrará en relación con otros campos. Puede establecer esta propiedad con CDaoTableDef::CreateField. Para obtener información detallada, vea el tema “propiedades de OrdinalPosition” en la Ayuda de DAO.m_bRequired
Indica si un objeto de campo de DAO requiere un valor no nulo. Si esta propiedad es VERDADERO, el campo no permite un valor NULL. Si es necesario se establece en FALSE, el campo puede contener valores nulos junto con los valores que cumplen las condiciones especificadas por los valores de propiedades de AllowZeroLength y de ValidationRule. Para obtener información detallada, vea el tema “propiedad requeridas” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_bAllowZeroLength
Indica si una cadena vacía ("") es un valor válido de un objeto de campo DAO con un tipo de datos de texto o de memorando. Si esta propiedad es VERDADERO, una cadena vacía es un valor válido. Puede establecer esta propiedad en FALSE para asegurarse que no puede utilizar una cadena vacía para establecer el valor de un campo. Para obtener información detallada, vea el tema “propiedades de AllowZeroLength” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_lCollatingOrder
Especifica la secuencia del criterio de ordenación en el texto de la comparación de cadenas o la ordenación. Para obtener detalles, vea el tema “personalizar de los valores del Registro de Windows para el acceso a datos” en la Ayuda de DAO. Para obtener una lista de los posibles valores devueltos, vea el miembro de m_lCollatingOrder de la estructura de CDaoDatabaseInfo . Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_strForeignName
Un valor que, en una relación, especifica el nombre del objeto de campo de DAO en una tabla externa que corresponde a un campo de una tabla principal. Para obtener información detallada, vea el tema “propiedades de ForeignName” en la Ayuda de DAO.m_strSourceField
Indica el nombre de campo que es el origen inicial de los datos para un objeto de campo DAO contenido por un definición, un conjunto de registros, o un objeto de tabla. Esta propiedad indica el nombre de campo original asociado a un objeto de campo. Por ejemplo, podría utilizar esta propiedad para determinar el origen inicial de los datos de un campo de consulta cuyo nombre no está relacionado con el nombre del campo de la tabla base. Para obtener información detallada, vea el tema “SourceField, propiedades de SourceTable” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_strSourceTable
Indica el nombre de la tabla que es el origen inicial de los datos para un objeto de campo DAO contenido por un definición, un conjunto de registros, o un objeto de tabla. Esta propiedad indica el nombre de tabla original asociado a un objeto de campo. Por ejemplo, podría utilizar esta propiedad para determinar el origen inicial de los datos de un campo de consulta cuyo nombre no está relacionado con el nombre del campo de la tabla base. Para obtener información detallada, vea el tema “SourceField, propiedades de SourceTable” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_strValidationRule
Un valor que valida los datos en un campo mientras se cambia o se agrega a una tabla. Para obtener información detallada, vea el tema “propiedades de ValidationRule” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.Para obtener información relacionada sobre tabledefs, vea el miembro de m_strValidationRule de la estructura de CDaoTableDefInfo .
m_strValidationText
Un valor que especifica el texto del mensaje que la aplicación muestra si el valor de un objeto de campo DAO no cumple la regla de validación especificada por el valor de las propiedades de ValidationRule. Para obtener información detallada, vea el tema “propiedades de ValidationText” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.m_strDefaultValue
El valor predeterminado de un objeto de campo de DAO. Cuando se crea un nuevo registro, el valor de la propiedad DefaultValue automáticamente se escribe como valor para el campo. Para obtener información detallada, vea el tema “propiedad DefaultValue” en la Ayuda de DAO. Puede establecer esta propiedad en un definición con CDaoTableDef::CreateField.
Comentarios
Las referencias a principal, a Secondary, y a Todo anterior indican cómo la información es devuelta por la función miembro de GetFieldInfo en las clases CDaoTableDef, CDaoQueryDef, y CDaoRecordset.
Los objetos del campo no se representan mediante una clase MFC. En su lugar, los objetos DAO que son la base de objetos MFC de las clases siguientes contienen colecciones de objetos de campo: CDaoTableDef, CDaoRecordset, y CDaoQueryDef. El miembro de la fuente de estas clases funciona para tener acceso a algunos elementos individuales de la información de campo, o puede tener acceso de una vez a un objeto de CDaoFieldInfo llamando a la función miembro de GetFieldInfo de objeto contenedor.
Además de su uso para examinar las propiedades de objeto, puede utilizar CDaoFieldInfo para construir un parámetro de entrada para crear nuevos campos en un definición. Opciones más sencillas están disponibles para esta tarea, pero si desea un control más preciso, puede utilizar la versión de CDaoTableDef::CreateField que toma un parámetro de CDaoFieldInfo .
La información recuperada por la función miembro de GetFieldInfo (de la clase que contiene el campo) se almacena en una estructura de CDaoFieldInfo . Llame a la función miembro de GetFieldInfo de objeto contenedor en cuya colección de campos se almacena el objeto de campo. CDaoFieldInfo también define una función miembro de Dump en versiones de depuración. Puede utilizar Dump para volcar el contenido de un objeto de CDaoFieldInfo .
Requisitos
Header: afxdao.h
Vea también
Referencia
Otros recursos
Estructuras, estilos, devoluciones de llamada y mapas de mensajes