Estrutura CDaoFieldInfo
A estrutura de CDaoFieldInfo contém informações sobre um objeto do campo definido para objetos (DAO) de acesso a dados.
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
Nomear exclusivamente o objeto do campo. Para obter detalhes, consulte o tópico “propriedade nome” na ajuda de DAO.m_nType
Um valor que indica o tipo de dados do campo. Para obter detalhes, consulte o tópico “propriedade tipo” na ajuda de DAO. O valor dessa propriedade pode ser um dos seguintes:dbBoolean sim/não, mesmo que Verdadeiro/Falso
bytes dedbByte
dbInteger curto
dbLong long
moeda dedbCurrency; consulte a classe COleCurrencyMFC
dbSingle único
double dedbDouble
data/hora dedbDate; consulte a classe COleDateTimeMFC
texto dedbText; consulte a classe CStringMFC
binário o longo dedbLongBinary(objeto); OLE você pode usar a classe CByteArray MFC em vez da classe CLongBinary porque CByteArray é mais rico e mais fácil de usar.
memorando dedbMemo; consulte a classe CStringMFC
dbGUID um identificador exclusivo/universal um identificador exclusivo usado com chamadas de procedimento remoto. Para obter mais informações, consulte o tópico “propriedade tipo” na ajuda de DAO.
Dica
Não use tipos de dados de cadeia de caracteres para dados binários.Isso faz com que os dados a serem passados na camada de tradução Unicode/ANSI, resultando na sobrecarga gerada e possivelmente tradução inesperada.
m_lSize
Um valor que indica o tamanho máximo, em bytes, de um objeto do campo de DAO que contém o texto ou o tamanho fixo de um objeto do campo que contém o texto ou valores numéricos. Para obter detalhes, consulte o tópico “propriedade tamanho” na ajuda de DAO. Os tamanhos pode ser um dos seguintes valores:Tipo
Tamanho (bytes)
Descrição
dbBoolean
1 byte
Sim/não (mesmo que true/false)
dbByte
1
Byte
dbInteger
2
Integer
dbLong
4
Long
dbCurrency
8
Moeda (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double
dbDate
8
Data/hora (COleDateTime)
dbText
1 - 255
Texto (CString)
dbLongBinary
0
Binário longo (OLE objeto; CByteArray; use em vez de CLongBinary)
dbMemo
0
Memorando (CString)
dbGUID
16
Um identificador exclusivo/universal um identificador exclusivo usado com chamadas de procedimento remoto.
m_lAttributes
Especifica características de um objeto do campo contido por um tabledef, por um conjunto de registros, por um querydef, ou por um objeto de índice. O valor retornado pode ser uma soma dessas constantes, criada com o C++ bit a bit OR ( **|**operador):dbFixedField o tamanho do campo é fixo (padrão para campos numéricos).
dbVariableField o tamanho do campo é variável (campos de texto apenas).
dbAutoIncrField o valor do campo para novos registros é incrementado automaticamente para um inteiro longo exclusivo que não pode ser alterado. Com suporte somente para tabelas base de dados do Microsoft Jet.
dbUpdatableField o valor de campo pode ser alterado.
dbDescending o campo é classificado (Z ou - A 100 - 0) na ordem de maneira decrescente (aplica-se somente a um objeto do campo em uma coleção de campos de um objeto do índice; MFC no, os próprios objetos do do índice são contidos em objetos de tabledef). Se você omitir esta constante, o campo é classificado (A - Z ou 0 - 100) na ordem de ordem crescente (padrão).
Ao verificar a configuração dessa propriedade, você pode usar o C++ bit a bit AND (&) para testar um atributo específico. Ao definir vários atributos, você pode combiná-los combinando as constantes apropriados com bit a bit OR ( **|**operador). Para obter detalhes, consulte o tópico “propriedade dos atributos” na ajuda de DAO.
m_nOrdinalPosition
Um valor que especifica a ordem numérica em que você deseja um campo representado por um objeto do campo de DAO a ser exibido em relação a outros campos. Você pode definir essa propriedade com CDaoTableDef::CreateField. Para obter detalhes, consulte o tópico “propriedade OrdinalPosition” na ajuda de DAO.m_bRequired
Indica se um objeto do campo de DAO requer um valor não nulo. Se essa propriedade for Verdadeiro, o campo não permite um valor nulo. É definido se necessário, a Falsoo campo pode conter valores nulos bem como valores que atendem às condições especificadas pelas configurações de propriedade de AllowZeroLength e de ValidationRule. Para obter detalhes, consulte o tópico “necessário para a propriedade” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_bAllowZeroLength
Indica se uma cadeia de caracteres vazia ("") é um valor válido de um objeto do campo de DAO com um tipo de dados de texto ou de memorando. Se essa propriedade for Verdadeiro, uma cadeia de caracteres vazia é um valor válido. Você pode definir esta propriedade como Falso para assegurar que você não pode usar uma cadeia de caracteres vazia para definir o valor de um campo. Para obter detalhes, consulte o tópico “propriedade AllowZeroLength” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_lCollatingOrder
Especifica a sequência de ordem de classificação em texto para a comparação de cadeia de caracteres ou classificação. Para obter detalhes, consulte o tópico “personalizar configurações do Registro do Windows para acesso a dados” na ajuda de DAO. Para uma lista dos possíveis valores retornados, consulte o membro de m_lCollatingOrder da estrutura de CDaoDatabaseInfo . Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_strForeignName
Um valor que, em uma relação, especifica o nome do objeto do campo de DAO em uma tabela estrangeira que corresponde a um campo em uma tabela primária. Para obter detalhes, consulte o tópico “propriedade ForeignName” na ajuda de DAO.m_strSourceField
Indica o nome do campo que é a origem de dados original para um objeto do campo de DAO contido por um tabledef, por um conjunto de registros, ou por um objeto de querydef. Essa propriedade indica o nome do campo original associado a um objeto do campo. Por exemplo, você pode usar essa propriedade para determinar a fonte de dados original em um campo de consulta cujo nome é não relacionados com o nome do campo na tabela subjacente. Para obter detalhes, consulte o tópico “SourceField, propriedades de SourceTable” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_strSourceTable
Indica o nome da tabela que é a origem de dados original para um objeto do campo de DAO contido por um tabledef, por um conjunto de registros, ou por um objeto de querydef. Essa propriedade indica o nome da tabela original associado a um objeto do campo. Por exemplo, você pode usar essa propriedade para determinar a fonte de dados original em um campo de consulta cujo nome é não relacionados com o nome do campo na tabela subjacente. Para obter detalhes, consulte o tópico “SourceField, propriedades de SourceTable” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_strValidationRule
Um valor que valida os dados em um campo conforme for alterado ou adicionado a uma tabela. Para obter detalhes, consulte o tópico “propriedade ValidationRule” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.Para obter informações sobre tabledefs relacionada, consulte o membro de m_strValidationRule da estrutura de CDaoTableDefInfo .
m_strValidationText
Um valor que especifica o texto da mensagem que seu aplicativo exibe se o valor de um objeto do campo de DAO não obedece à regra de validação especificada pela configuração de propriedade de ValidationRule. Para obter detalhes, consulte o tópico “propriedade ValidationText” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.m_strDefaultValue
O valor padrão de um objeto do campo de DAO. Quando um registro novo é criado, a configuração da propriedade DefaultValue digitada automaticamente à medida que o valor para o campo. Para obter detalhes, consulte o tópico “propriedade DefaultValue” na ajuda de DAO. Você pode definir esta propriedade para um tabledef com CDaoTableDef::CreateField.
Comentários
As referências à primário, secundário, e todas as anterior indicam como as informações são retornadas pela função de membro de GetFieldInfo nas classes CDaoTableDef, CDaoQueryDef, e CDaoRecordset.
Os objetos de campo não são representados por uma classe de MFC. Em vez disso, os objetos de DAO que são a base de objetos MFC das seguintes classes contêm as coleções de objetos do campo: CDaoTableDef, CDaoRecordset, e CDaoQueryDef. Essas funções de membro da fonte das classes para acessar alguns itens individuais de informações do campo, ou pode acessar de uma vez com um objeto de CDaoFieldInfo chamando a função de membro de GetFieldInfo do objeto contentor.
Além de seu uso para revisar as propriedades do objeto, você também pode usar CDaoFieldInfo para construir um parâmetro de entrada para criar novos campos em um tabledef. Mais opções simples estão disponíveis para esta tarefa, mas se você desejar um controle mais preciso, você pode usar a versão de CDaoTableDef::CreateField que assume um parâmetro de CDaoFieldInfo .
As informações recuperadas pela função de membro de GetFieldInfo (da classe que contém o campo) são armazenadas em uma estrutura de CDaoFieldInfo . Chame a função de membro de GetFieldInfo do objeto contentor em cuja coleção de campos o objeto do campo é armazenado. CDaoFieldInfo também define uma função de membro de Dump em construções de depuração. Você pode usar para Dump despejar os conteúdos de um objeto de CDaoFieldInfo .
Requisitos
Header: afxdao.h
Consulte também
Referência
Outros recursos
Estruturas, estilos, retornos de chamada e mapas de mensagem